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

[经验分享] SendMail与Postfix的架构备忘2

[复制链接]

尚未签到

发表于 2015-9-15 00:37:28 | 显示全部楼层 |阅读模式
  

  一。发送邮件的二种方式:
1.mail命令发送 特点快
1)mail -s "Hello from mzone.cc by shell" admin@mzone.cc
2)hello,this is the content of mail.
3)welcome to www.mzone.cc
第一行是输入的命令,-s表示邮件的主题,后面的admin@mzone.cc则是邮件的接收人,输入完这行命令后回车,会进入邮件正文的编写,我们可 以输入任何文字,比如上面的两行。当邮件正文输入完成后,需要按CTRL+D结束输入,此时会提示你输入Cc地址,即邮件抄送地址,没有直接回车就完成了 邮件的发送。
2. SMTP命令发送,繁琐,了解交互过程
1)telnet smtpserver  25
2)helo localhostname
3)mail from:  user1@domain1.com  发送者
4)rcpt to:admin@mzone.cc  接收者
5)data 初始化内容
From:user1@domain1.com
To:user2@domain2.com
Subject: Hello from mzone.cc by shell
hello,this is the content of mail.welcome to www.mzone.cc
.   句号表示正文结束,就象上面的CTRL+D

6)quit



二。理解中继:relay 表示该smtp服务器是smtp服务器链路上的一个节点。但不是最终的节点。中继节点是收了再转,而最终节点只收不转。

三。错误场景:邮件有时能收到,有时收不到。
按理说web应用对应的多台服务器会本地中继到到adm01c上。但是发现某些新加的web应用服务器并没有在/var/log/mail/maillog里面写日志。
验证方式:grep SMART /etc/mail/sendmail.mc没有发现相应的内容。可以确定这些新增的服务器没有安装SendMail导致它们的发邮件功能有问题。
解决:
安装SendMail: 注意找sendmail-cf而不是sendmail
yum search sendmail-cf
yum install sendmail-cf -y
同时修改/etc/mail/sendmail.mc文件的SMART_HOST值。并通过m4编译输出到sendmail.cf文件。编译之前,注意将旧的sendmail.cf做备份。之后启动#service sendmail start

四。Postfix的日志分析
下面是一个成功发送邮件的日志片段:
Feb 23 01:53:20 adm01c postfix/smtpd[15584]: connect from web04c.daodao.com[192.168.1.114]
Feb 23 01:53:20 adm01c postfix/smtpd[15584]: 7CD1C1C00121: client=web04c.daodao.com[192.168.1.114]
Feb 23 01:53:20 adm01c postfix/cleanup[15587]: 7CD1C1C00121: message-id=<201202230652.q1N6poqV005021@web04c.daodao.com>
Feb 23 01:53:20 adm01c postfix/qmgr[19139]: 7CD1C1C00121: from=<support@daodao.com>, size=566, nrcpt=1 (queue active)
Feb 23 01:53:20 adm01c postfix/smtpd[15584]: disconnect from web04c.daodao.com[192.168.1.114]
Feb 23 01:53:22 adm01c postfix/smtp[15588]: 7CD1C1C00121: to=<bogaoyi@gmail.com>, relay=gmail-smtp-in.l.google.com[209.85.225.26]:25, delay=2.4, delays=0.06/0.01/1.1/1.2, dsn=2.0.0, status=sent (250 2.0.0 OK 1329980002 vw6si606526igb.60)
Feb 23 01:53:22 adm01c postfix/qmgr[19139]: 7CD1C1C00121: removed

Feb 23 02:13:28 adm01c postfix/smtp[17246]: connect to pp.com[74.117.114.92]: Connection timed out (port 25)
Feb 23 02:13:28 adm01c postfix/smtp[17246]: 9BC951C00123: to=<1158824774@pp.com>, relay=none, delay=262614, delays=262584/0.01/30/0, dsn=4.4.1, status=deferred (connect to pp.com[74.117.114.92]: Connection timed out)
Feb 23 02:14:27 adm01c postfix/smtpd[17319]: connect from bak01c.daodao.com[192.168.1.131]
Feb 23 02:14:27 adm01c postfix/smtpd[17319]: 800B21C00121: client=bak01c.daodao.com[192.168.1.131]
Feb 23 02:14:27 adm01c postfix/cleanup[17321]: 800B21C00121: message-id=<1919695525.581329981267430.JavaMail.root@bak01c.daodao.com>
Feb 23 02:14:27 adm01c postfix/smtpd[17319]: disconnect from bak01c.daodao.com[192.168.1.131]
Feb 23 02:14:27 adm01c postfix/qmgr[19139]: 800B21C00121: from=<support@daodao.com>, size=7617, nrcpt=2 (queue active)
Feb 23 02:14:28 adm01c postfix/smtp[17064]: 800B21C00121: to=<112733485@qq.com>, relay=mx3.qq.com[113.108.76.219]:25, delay=0.99, delays=0.02/0/0.23/0.74, dsn=2.0.0, status=sent (250 Ok: queued as )
Feb 23 02:14:29 adm01c postfix/smtp[17244]: 800B21C00121: to=<support-daodao@tripadvisor.com>, relay=webmail.tripadvisor.com[146.115.38.21]:25, delay=2.3, delays=0.02/0/1.3/0.9, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 090E51798D5CC)

在postfix的日志里:
如果status=sent表示已经成功发送。removed表示从队列中删除发送的邮件
如果status= deferred表示延期,需要重试,当重试到一定次数,还失败就抛弃

五。MX记录
最初以为发不出邮件是由于MX记录的问题。MX是DNS多种类型的记录中的一种。DNS经常使用的是A记录。用来根据根据rcpt to对应的邮箱取出后面的域名进行路由时的依据。
下面是postfix的MX路由报错,因为用户把sina写成了sian,tripadvisor写成了tripdvisor导致无法路由
Feb 23 02:13:05 adm01c postfix/smtp[17064]: 48F561C00080: to=<hygy2011@sian.com>, relay=none, delay=167680, delays=167673/0/6.9/0, dsn=4.4.3, status=deferred (Host or domain name not found. Name service error for name=sian.com type=MX: Host not found, try again)
Feb 23 02:13:05 adm01c postfix/smtp[17244]: 412C31C0011C: to=<lsbg4228575@sian.com>, relay=none, delay=92243, delays=92236/0.01/7/0, dsn=4.4.3, status=deferred (Host or domain name not found. Name service error for name=sian.com type=MX: Host not found, try again)
Feb 23 02:13:10 adm01c postfix/smtp[17245]: C9EA01C0003C: to=<gpotter@tripdvisor.com>, relay=none, delay=322597, delays=322586/0.01/12/0, dsn=4.4.3, status=deferred (Host or domain name not found. Name service error for name=tripdvisor.com type=MX: Host not found, try again)

运维网声明 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-113610-1-1.html 上篇帖子: 搭建基于Sendmail的mail服务 下篇帖子: windows(linux---Fedora13)php 发送邮件 (sendmail+PHPMailer) 结合配置问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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