sendmail服务器案例配置

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

    Linux/UNIX下的老牌邮件服务器。Sendmail作为一种免费的邮件服务器软件,已被广泛的应用于各种服务器中,它在稳定性、可移植性、及确保没有bug等方面具有一定的特色,且可以在网络中搜索到大量的使用资料。

实验拓扑图:

注:163主机与sina主机的hostname千万不要相同,也可以自己修改成相应的域名,如hostname本来为localhost.localdomain,改为mailserver.163.com(名字可自己定义,通常是主机名称 . 域名)

一、163.comdnsmail服务器配置

1.安装配置dns

/var/named/chroot/etc/named.conf

named.rfc1912.zones

zone "163.com" IN {

        type master;

        file "163.com.zone";

        allow-update { none; };

};

zone "142.168.192.in-addr.arpa" IN {

        type master;

        file "192.168.142.local";

        allow-update { none; };

};

 

dns

[root@host etc]# service named start

named

[root@host etc]# chkconfig named on

2.好下面来安装并配置sendmail

yum

[接收邮件 pop3/imap]

 

修改配置文件

1)/etc/mail/sendmail.mc

116 DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl  

[127.0.0.1改为0.0.0.0]

2)/etc/mail/local-host-names

# local-host-names - include all aliases for your machine here.

163.com

mail.163.com

  /etc/mail/access 设置中继

3)启动sendmaildovecot服务

[root@localhost mail]# service sendmail restart

sm-client

sendmail

sendmail

sm-client

[root@localhost mail]# service dovecot start

Dovecot Imap

注:Sendmail: localhost.localdomain 的问题

 telnet127.0.0.1 25 测试时,出现 localhost.localdomain, 表示 Linux Server 的 tname设定有误,这个问题并不大因为它还是可以正常的收、发e-mail但是寄给同样是 localhost.localdomain 的 mail server时,问题就来了。

情况如下:

     1. 收到退回的信件內容是:
      553 5.3.5 方的hostname. config error: mail loops back to me (MX problem?)
      554 5.3.5 Local configuration error    

     2.  /var/log/maillog 日志记录出现:
      SYSERR(root): 对方hostname. config error: mail loops back to me (MX problem?)       

     3. 对方的 /var/log/maillog 日志记录出现:

      本IP did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA

:

于本机名称是localhost.localdomain, 邮件发出后Sendma主机名称也是 localhost.localdomain 信件回到本机邮件服器上法寄到邮箱

如本案例中的163.comsina.com均是localhost.localdomain,虽然感觉可以正常发送,就是没有接收到邮件,不要急,看一下日志吧,就知道了,应该是上面例出的错误,并且邮件的状态是queued,那就按照下面的方法来修改一下主机名hostname吧,
解決方法:

     1. 知道自己正的 hostname 是什么 (通常是主机名称.域名local.163.com其中 local 是主机名称163.com 是域名)

      2. cat /etc/sysconfig/network, 查看 hostname 是否定正若不正确请修改执行:

     [root@local ~]# hostname  hostname  
    3. cat /etc/hosts 查 127.0.0.1 那一行是否只有 localhost localhost.localdomain 这两种叙述若否清除不相干的敘述,

其时也可以添加域名如: 127.0.0.1  localhost.localdomain  163.com (各自服务器的域名,也可以不加,但要加时要注意不要加主机名,如mail.163.com,这样就错了,你会发现你你邮件地址会变为user@mail.163.com,而不是你想要的user@163.com,这可能是我sendmail的设置问题,可以自己尝试一下,推荐不用修改该文件即可)

    4. /etc/rc.d/init.d/sendmail restart 重新启动 Sendmail

   这样就可以了,

4)使用telnet命令访问邮件服务

测试

① smtp默认端口是tcp25,所以使用telnet登录到smtp服务器的25号端口。

② 通过helosmtp服务器表明自己的身份

③ 通过mail from 命令指定发件人为user1@163.com

④ 通过rcpt to命令指定第一个收件人为user1@163.com

⑤ 通过data命令开始写邮件正文

⑥ 写邮件正文并通过“.”命令指定邮件书写完毕。

⑦ 断开连接。

测试

telnet

① user 用户名:指定访问pop3服务的用户名;

② pass 密码:指定访问pop3服务的密码;

③ stat: pop3服务器返回邮箱统计资料,比如邮件数、邮件总字节数等

④ uidl 邮件编号:pop3服务器返回指定邮件的惟一标识,如果不指定邮件编号,则返回所有邮件的信息

⑤ list  邮件编号:pop3服务器返回指定邮件的信息,比如大小等,如果不指定邮件编号,则返回所有邮件的信息

⑥ retr  邮件编号:pop3服务器返回指定邮件的全部文本

⑦ dele 邮件编号:pop3服务器将指定邮件标记为删除,quit命令执行时才真正删除。

⑧ rset  邮件编号:pop3服务器将指定邮件删除标记清除

⑨ top  邮件编号行数:pop3服务器返回指定邮件正文的前几行。

测试过了,那我们就找一个

经测试如下图,正常,也可以正常接收:

二、sina.comdnsmail服务器配置

163.com

首先配置

启动

3.sendmail的安装同163.com域,针对的local-host-names不同,只需要修改如下:

/etc/mail/local-host-names

# local-host-names - include all aliases for your machine here.

sina.com

mail.sina.com

4.配置后,启动sendmaildovecot服务。

三、测试阶段

两个域都配置完成,就来测试吧,

发现如下错误:

3.因为我们没有设置dns转发,分别在各自的配置文件named.rfc1912.zones添加如下内容:

163.com

zone "sina.com" IN {

        type forward;

        forwarders {192.168.142.3; };

};

 

sina.com

zone "163.com" IN {

        type forward;

        forwarders {192.168.142.2; };

};

加上后,重启

/var/log/maillog

修改过之后就可以正常发送了,

192.168.142.2

/etc/mail/access

重启

测试正常,实验结束喽

 



本文转自 刘园  51CTO博客,原文链接:http://blog.51cto.com/colynn/1058415

相关文章
|
14天前
|
数据挖掘
服务器数据恢复—服务器raid5阵列中2块硬盘掉线的数据恢复案例
某公司一台服务器,服务器上有一组由8块硬盘组建的raid5磁盘阵列。 磁盘阵列中2块硬盘的指示灯显示异常,其他硬盘指示灯显示正常。上层应用不可用。
|
8天前
|
Ubuntu 应用服务中间件 网络安全
Nginx伪流媒体服务器搭建详细说明以及案例
Nginx伪流媒体服务器搭建步骤如下:1. 安装Nginx,根据系统选择命令;2. 编辑配置文件(/etc/nginx/nginx.conf),添加mp4相关设置;3. 创建视频目录/usr/share/nginx/html/videos并上传视频;4. 重启Nginx应用更改;5. 通过浏览器访问视频,如http://your_server_ip/videos/example.mp4。注意启用mp4模块,确保视频格式支持伪流媒体播放。
|
7天前
|
负载均衡 JavaScript Linux
做网站如何选择云服务器?(一)配置篇
选择服务器需考虑网站规模、技术需求和地理位置。个人博客适合基础配置,企业官网需4核CPU、8GB内存,电商平台则需更高配置并配备负载均衡。技术上,展示型网站用PHP+MySQL,互动社区需Node.js/Python环境,视频类网站要大带宽。地理位置影响服务器选择,国内用户选腾讯云/阿里云,海外用户选AWS等。主流服务器类型包括虚拟主机(入门级)、云服务器(推荐)和物理服务器(高端需求)。云服务商普遍提供免费试用,便于评估性能。
29 1
|
12天前
|
弹性计算
【已解决】Matomo本地SMTP配置可以发邮件,但部署到阿里云ECS就发不了邮件
在阿里云ECS上使用Matomo和PHPMailer发送邮件时遇到问题,邮件无法发出且接口调用Pending。经过排查,发现是ECS安全组未开放25/465端口,导致SMTP请求无法正常通信。解决方法为在安全组中配置并开放25/465端口,从而恢复邮件发送功能。
|
12天前
|
存储 运维
服务器数据恢复—服务器raid5阵列中硬盘离线的数据恢复案例
某公司一台服务器中有一组多块硬盘组成的磁盘阵列。磁盘阵列中有2块硬盘出现故障离线,服务器崩溃,上层数据丢失。
|
14天前
|
弹性计算 运维 Ubuntu
在阿里云ECS云服务器上安装、配置及高效使用Docker与Docker Compose
本文介绍了在阿里云ECS上使用Ubuntu系统安装和配置Docker及Docker Compose的详细步骤。通过这些工具,可以快速部署、弹性扩展和高效管理容器化应用,满足开发和运维需求。内容涵盖Docker的安装、镜像源配置、创建Web程序镜像以及使用Docker Compose部署WordPress等实际操作,并分享了使用体验,展示了阿里云实例的高性能和稳定性。
189 4
|
20天前
|
存储 运维 数据挖掘
服务器数据恢复—服务器raid5阵列硬盘出现坏道掉线的数据恢复案例
一台服务器中有一组由16块SAS接口的硬盘组建的raid5阵列。 服务器磁盘阵列中有2块硬盘离线,服务器上跑的应用崩溃。 经过后续的分析发现丢失的数据为虚拟机文件,包含4个卷的数据。
|
1月前
|
存储 人工智能 缓存
怎么根据自己的业务选择阿里云服务器配置大小?
本文指导如何根据业务需求精准选择阿里云服务器配置,涵盖个人轻量级至企业级、计算密集型等场景,推荐不同实例类型、存储与带宽方案,并提供成本优化策略,如包年包月节省成本、按需升级配置及选用性价比高的自研ARM架构实例。帮助用户在数字化转型中实现性能与成本的平衡。 注:以上配置与价格基于阿里云2025年官方数据,实际信息可能有所调整,请以官网实时页面为准。
|
1月前
|
人工智能 运维 监控
2025年阿里云服务器配置选择全攻略:CPU、内存、带宽与系统盘详解
在2025年,阿里云服务器以高性能、灵活扩展和稳定服务助力数字化转型,提供轻量应用服务器、通用型g8i实例等多样化配置,满足个人博客至企业级业务需求。针对不同场景(如计算密集型、内存密集型),推荐相应实例类型与带宽规划,强调成本优化策略,包括包年包月节省成本、ESSD云盘选择及地域部署建议。文中还提及安全设置、监控备份的重要性,并指出未来可关注第九代实例g9i支持的新技术。整体而言,阿里云致力于帮助用户实现性能与成本的最优平衡。 以上简介共计238个字符。
|
1月前
|
存储 安全 网络安全
阿里云国际站:阿里云服务器端口配置
悟空云@CloudWuKong阿里云是全球领先的云计算服务提供商,为用户提供弹性计算、数据库、存储、网络安全等一系列云计算服务。在使用阿里云服务器时,合理配置端口非常重要,可以提高服务器安全性和稳定性。