设为首页 收藏本站
查看: 1328|回复: 0

[经验分享] CentOS安装sendmail及设置

[复制链接]

尚未签到

发表于 2015-11-25 13:22:04 | 显示全部楼层 |阅读模式
  原文地址:http://www.sunchis.com/html/os/linux/2012/0503/407.html

sendmail是Linux下优秀的邮件系统。在不做任何设定的情况下,sendmail发出邮件的邮箱源地址形如userid@localhost.localdo,这种地址几乎会被所有的邮箱认定为SPAM(垃圾邮件)或直接拒收。


1、 Sendmail安装


在CentOS下,sendmail一般默认是随操作系统一起安装的。如果安装系统时没有安装sendmail服务,手动安装sendmail也很简单:


view plain   copy

  • # yum install -y sendmail
  • # yum install -y sendmail-cf


2、 Senmail的SMTP认证配置(不需要认证的可忽略此步)


首先确认saslauthd服务是否安装或启动。


安装saslauthd服务:# yum install -y saslauthd


启动saslauthd服务:# service saslauthd start


(1) 配置Senmail的SMTP认证


# vi /etc/mail/sendmail.mc


view plain   copy

  • dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
  • dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl


将上面两行的dnl去掉。在sendmail文件中,dnl表示该行为注释行,是无效的,因此通过去除行首的dnl字符串可以开启相应的设置行。


(2) 设置Sendmail服务的网络访问权限


# vi /etc/mail/sendmail.mc


view plain   copy

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


将127.0.0.1改为0.0.0.0,意思是任何主机都可以访问Sendmail服务。如果仅让某一个网段能够访问到Sendmail服务,将127.0.0.1改为形如192.168.1.0/24的一个特定网段地址。


3、 生成Sendmail配置文件


Sendmail的配置文件由m4来生成,m4工具在sendmail-cf包中。如果系统无法识别m4命令,说明sendmail-cf软件包没有安装。


生成Sendmail的配置文件:


view plain   copy

  • m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf  


需要重启Sendmail才能使配置文件生效。


4、 Sendmail邮件域名配置


配置sendmail使用合法的域名分两步,修改sendmail的配置文件和添加域名MX记录。


sendmail可以直接使用 “-r account@domain.com” 参数来以任意源地址发送邮件,但目前主流的邮箱都会将源地址和反向解析IP进行比较,如果解析不到或是解析的IP不匹配,轻则将邮件直接归为SPAM,严重的就直接拒绝接收。


MX记录(Mail Exchanger Record)主要是接收邮件时使用,即当投递一封新邮件时,会查询收件人域名的MX记录,然后通过MX记录得到的IP地址进行投递。同时邮件厂商在接收邮件的时候也会将源地址和MX记录进行比较,作为垃圾邮件的判断标准之一。


第一步:添加域名


(1) 将域名加入到local-host-names文件


# vi /etc/mail/local-host-names,添加


view plain   copy

  • sunchis.com


(2) 修改submit.cf文件


# vi /etc/mail/submit.cf,找到行 #Dj$w.Foo.COM,修改为


view plain   copy

  • Djsunchis.com


至此,sendmail邮件命名配置完毕,重启sendmail使配置生效。


第二步:添加域名MX记录


找到修改域名信息的页面(不同的域名注册商页面不相同),修改结果因域名商的不同最迟会在24小时内生效。


(1) 添加域名A记录mail,直接指向你的邮件服务器的静态IP地址:


http://www.sunchis.com/uploads/allimg/2012/20120503184911.png

(2) 添加(或是修改)域名的MX记录,形如:


http://www.sunchis.com/uploads/allimg/2012/20120503185144.png

(3) 使用nslookup检测MX记录是否能正确解析到邮件服务器


view plain   copy

  • # nslookup
  • > set q=mx
  • > sunchis.com
  • Server:         8.8.8.8
  • Address:        8.8.8.8#53

  • Non-authoritative answer:
  • sunchis.com  mail exchanger = 10 mail.sunchis.com.

  • Authoritative answers can be found from:
  • >  


OK,已经正确解析到邮件服务器所对应的域名。


5、 Relaying denied(拒绝投递)的解决


出现 550 5.7.1 <xxx@163.com>... Relaying denied. IP name lookup failed [192.168.1.133] 异常时,原因是把sendmail当做邮件中转站,需要将客户端的IP地址加入到access配置文件中。


# vi /etc/mail/access,添加


view plain   copy

  • Connect:192.168.1.133                   RELAY


重新生成访问权限的数据库:


view plain   copy

  • # cd /etc/mail/
  • # makemap hash access.db < access


这样,问题就会得到解决。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-143435-1-1.html 上篇帖子: sendmail 在AS5全新安装 下篇帖子: 快速安装配置sendmail服务器的脚本
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表