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) ,如 ...
随机推荐
- OpenCV2:特征匹配及其优化
在OpenCV2简单的特征匹配中对使用OpenCV2进行特征匹配的步骤做了一个简单的介绍,其匹配出的结果是非常粗糙的,在这篇文章中对使用OpenCV2进行匹配的细化做一个简单的总结.主要包括以下几个内 ...
- 使用idea debug多线程
最近采用hystrix远程访问webservice, 遇到一个重定向303的exception,想要debug一下,发现打了断点后总是被跳过.想到hystrix异步线程的问题,于是想要debug就得支 ...
- js基础篇——变量
a.变量类型 变量类型 构造函数 举例 类型检测typeof 字符串 function String() var t = "chua"; var m = new String(&q ...
- Windows下程序打包发布时的小技巧
一.背景 Windows下开发的应用程序在发布时,需要将其依赖的一些动态链接库一起打进安装包里面去.这个时候,快速确定这个程序到底依赖哪些动态链接库变得非常重要.很久以前写过一篇关于Qt程序安装包制作 ...
- BizTalk动手实验(十七)ODBC适配器使用
更多内容请查看:BizTalk动手实验系列目录 BizTalk 开发系列 1 课程简介 通过本课程熟悉ODBC适配器的的使用,本练习采用BizTalk 20 ...
- webapi swagger自定义 HTTP Header验证用户
问题描述 webapi自定义的一种验证方式(token放入header里),使用swagger测试时由于header里没值所以一直拿不到用户. 解决如下:(从标题2开始,标题1处处理全局验证用户) 1 ...
- 基于Eclipse的Hadoop应用开发环境配置
基于Eclipse的Hadoop应用开发环境配置 我的开发环境: 操作系统ubuntu11.10 单机模式 Hadoop版本:hadoop-0.20.1 Eclipse版本:eclipse-java- ...
- 从零开始学Python08作业思路:开发简单的FTP
一,作业要求 开发简单的FTP 1,用户登录 2,上传/下载文件 3,不同用户家目录不同 4,查看当前目录下文件 5,充分使用面向对象 二,程序文件清单 Folder目录:用户上传文件家目录 db目录 ...
- POJ-3041
思路:将n个行看作n个点{x_i}(i=1, ..., n),n个列也看作n个点{y_j}(j=1, ..., n).每个障碍看作一条无向边(x_i, y_j).则该问题能够归结为求二分图最小点覆盖数 ...
- 使用jenkins配置.net mvc网站进行持续集成一
最近好久没有更新文章了,因为好久没有写代码了,以至于我不知道同大家分享些什么,刚好,今天突然叫我学习下jenkins每日构建,我就把今天的学习笔记记录下来,这其中很多东西都是公司同事之前调研总结的,我 ...