Linux SendMail发送邮件失败诊断案例(二)
Linux上Sendmail经常由于一些配置问题,导致邮件发送失败,下面整理、收集了一些邮件发送失败、异常的案例。
案例1:在新服务器上测试sendmail发送邮件时,发现邮件发送不成功,检查/var/log/maillog日志文件发现如下错误(Notice:hostname、邮箱地址等信息使用xxx代替)
tail /var/log/maillog
May 15 09:43:38 xxxxx sendmail[9182]: s4F1hcQe009182: from=root, size=58269, class=0, nrcpts=1, msgid=<201405150143.s4F1hcQe009182@xxxx>, relay=root@localhost
May 15 09:43:38 xxxxx sendmail[9182]: s4F1hcQe009182: to=konglb@xxxx, delay=00:00:00, mailer=esmtp, pri=88269, dsn=4.4.3, stat=queued
May 15 09:43:58 xxxxx sendmail[9186]: NOQUEUE: SYSERR(oracle): can not chdir(/var/spool/mqueue/): Permission denied
出现这个问题,是因为oracle账号没有权限访问/var/spool/mqueue,需要授予相关权限,如下所示:
chmod 755 /var/spool/mqueue
案例2:查看var/log/maillog日志文件发现如下错误
May 15 10:21:41 xxxxx sendmail[9850]: s4F2LfrT009850: to=<konglb@xxxx>, delay=00:00:00, mailer=esmtp, pri=37549, dsn=4.4.3, stat=queued
出现这个问题是因为dns server不正确设置导致,需要修改/etc/resolv.conf 下的nameserver值。
案例3:检查/var/log/maillog发现如下信息,邮件状态为Sent(stat=Sent),但是依然没有收到邮件。
[root@DB-Server mail]# tail /var/log/maillog
Dec 18 11:15:01 nbolnx01 sendmail[25312]: sBI3F18J025312: from=<oracle@xxxx.xxxx>, size=607, class=0, nrcpts=1, msgid=<201412180315.sBI3F12b025302@nbolnx01.xxxx.xxxx>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
Dec 18 11:15:01 nbolnx01 sendmail[25302]: sBI3F12b025302: to=oracle, ctladdr=oracle (502/502), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30290, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (sBI3F18J025312 Message accepted for delivery)
Dec 18 11:15:01 nbolnx01 sendmail[25327]: sBI3F1mw025327: from=<oracle@xxxx.xxxx>, size=599, class=0, nrcpts=1, msgid=<201412180315.sBI3F1Ba025321@xxxx.xxxx>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
Dec 18 11:15:01 nbolnx01 sendmail[25321]: sBI3F1Ba025321: to=oracle, ctladdr=oracle (502/502), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30282, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (sBI3F1mw025327 Message accepted for delivery)
检查mailq,如下所示,发现大量邮件处于等待发送的队列
[root@DB-Server mail]# mailq
.................................................................
.................................................................
.................................................................
sBD2j1tq000440 214 Sat Dec 13 10:45 <oracle@xxxx.xxxx>
(host map: lookup (xxxx.com): deferred)
konglb@xxxx.com
sBD301x9000637 214 Sat Dec 13 11:00 <oracle@xxxx.xxxx>
(host map: lookup (xxxx.com): deferred)
konglb@xxxx.xxxx
Total requests: 120
[root@nbolnx01 mail]#
出現了"host map: lookup (domain): deferred"错误,意味着邮件的发送被延迟了。需要通过修改配置文件/etc/mail/sendmail.cf。找到 #O ResolverOptions=+AAONLY 这一行信息后将注释取消掉,然后重启sendmail服务即可解决问题。

[root@DB-Server ~]# service sendmail stop
Shutting down sm-client: [ OK ]
Shutting down sendmail: [ OK ]
[root@DB-Server ~]# service sendmail start
Starting sendmail: [ OK ]
Starting sm-client: [ OK ]
参考资料:
http://www.51osos.com/a/Linux_CentOS_RedHat/Linuxjichu/2010/1001/107.html
http://www.cnblogs.com/AloneSword/archive/2013/07/20/3203050.html
http://blog.chinaunix.net/uid-11888131-id-2804023.html
http://fanli7.net/a/caozuoxitong/OS/20120703/180401.html
http://blog.csdn.net/kindy1022/article/details/7639096
Linux SendMail发送邮件失败诊断案例(二)的更多相关文章
- Linux SendMail发送邮件失败诊断案例(三)
一Linux服务器突然发送不出邮件,检查了很多地方都没有发现异常,检查/var/log/maillog发现如下具体信息: Apr 12 00:36:04 mylinux sendmail[4685]: ...
- Linux SendMail发送邮件失败诊断案例(四)
最近又碰到一起Linux下SendMail发送邮件失败的案例,邮件发送后,邮箱收不到具体邮件, 查看日志/var/log/maillog 发现有"DSN: User unknown" ...
- Linux sendmail发送邮件失败诊断案例(一)
在新服务器上测试sendmail发送邮件时,发现邮件发送不成功,检查日志文件发现如下错误(Notice:由于涉及公司服务器,邮箱等,故下面hostname.邮箱地址等信息使用xxx代替) tail - ...
- 转 Linux SendMail发送邮件失败诊断案例(四)
http://www.cnblogs.com/kerrycode/p/7826036.html
- Linux系统下sendmail发送邮件失败的问题
问题是:安装完sendmail,启动服务后,发送邮件第一次发送成功,后面再次无论怎么发送都不行,换邮箱也不行.在确认我的邮件发送格式正确无误后,想到查看邮件发送日志: [root@backu ...
- linux下使用软连接之案例二
在笔者的上一篇文章介绍过怎么通过linux的软连接在不修改上传代码的情况下,将上传到项目路径下的图片改为上传到项目外面,防止重新部署后图片被删除了.同时还可以直接通过类似访问静态资源的方 ...
- Linux phpmailer发送邮件失败的解决方法
(本地windows phpmailer发送ok 放到linux发送失败) 原因:linux 通过465端口进行更安全的SMTPS协议发送邮件 windows 是基于smtp 25端口的 因此 可 ...
- 使用 spring封装的javamail linux服务器发送邮件失败解决
原文参考:https://blog.csdn.net/a540891049/article/details/79385471 由于某些平台的linxu服务器为了安全起见 屏蔽了发送邮件的常用端口 25 ...
- Linux简单配置SendMail发送邮件
本文简单整理了一下如何在Linux服务器上安装.配置SendMail发送邮件的步骤,此文不是配置邮件服务器,具体测试环境为CentOS Linux release 7.2.1511 (Core) ,如 ...
随机推荐
- java 线程 Thread 使用介绍,包含wait(),notifyAll() 等函数使用介绍
(原创,转载请说明出处!谢谢--http://www.cnblogs.com/linguanh/) 此文目的为了帮助大家较全面.通俗地了解线程 Thread 相关基础知识! 目录: --线程的创建: ...
- ios使用jspatch中需要注意的事项
第一份代码,为了纠正原代码不显示29号的bug,先上代码 require('NSString','MCDatePickType','NSMutableArray','UIButton'); defin ...
- jdk线程池主要原理
本文转自:http://blog.csdn.net/linchengzhi/article/details/7567397 正常创建一个线程的时候,我们是这样的:new thread(Runnable ...
- HTTP2特性预览和抓包分析
背景 近年来,http网络请求量日益添加,以下是httparchive统计,从2012-11-01到2016-09-01的请求数量和传输大小的趋势图: 当前大部份客户端&服务端架构的应用程序, ...
- 10个调试Java的技巧
调试不仅可以查找到应用程序缺陷所在,还可以解决缺陷.对于Java程序员来说,他们不仅要学会如何在Eclipse里面开发像样的程序,更需要学会如何调试程序.本文介绍了Java程序员必知的10个调试技巧, ...
- JFreechart 在linux下不显示及中文乱码问题
一.使用JFreeChart建的报表,在window下能正常显示,但是放到linux下就报错,而且有时候会把tomcat挂掉, 原因是jfreechart的在linux系统中需要访问java awt库 ...
- table中设置border的问题
今天在修改table样式的时,想给tr加个border-bottom,一开始用的颜色比较浅,我还以为看电脑太久眼花,结果换了比较深的颜色后,border-bottom真的没有出来. 忽然想起在ht ...
- python征程1.2(初识python)
1.操作符. 和其他绝大多数语言一样,Python的算术操作符以你熟悉的方式工作. “+,—,×,/,//,%,**,” 注意:python有两种除法操作符(1)单斜杠用以传统除法,(2)双斜杠用以浮 ...
- php实现设计模式之 抽象工厂模式
<?php /*抽象工厂模式:提供一个创建一系统相关或相互依赖对象的接口,而无需指定它们具体的类 * 创建型模式 */ //抽象小米工厂,能制造小米一,小米二 abstract class mi ...
- 【工匠大道】markdown使用技巧
本文地址 提纲: 1. 概述 2. 常见技巧 3. 参考文档 1. 概述 常见的markdown的技巧,这里不再谈了,主要是自己感觉比较少见但有用的技巧. 2. 常见技巧 1)[空格]生成空格的效 ...