我正在尝试debugging在Red Hat / Apache服务器上发送邮件的问题。 当我使用sendmail -t从命令行发送电子邮件时,我收到如下消息的弹回电子邮件:
The original message was received at Thu, 7 Apr 2011 10:24:56 -0500 from internal.example.edu [127.0.0.1] ----- The following addresses had permanent fatal errors ----- <[email protected]> ----- Transcript of session follows ----- <[email protected]>... Deferred: Connection timed out with mail.global.frontbridge.com. Message could not be delivered for 5 days Message will be deleted from queue --p3CFqmnx022071.1302624414/internal.example.edu Content-Type: message/delivery-status Reporting-MTA: dns; internal.example.edu Arrival-Date: Thu, 7 Apr 2011 10:24:56 -0500 Final-Recipient: RFC822; [email protected] Action: failed Status: 4.4.7 Remote-MTA: DNS; mail.global.frontbridge.com Last-Attempt-Date: Tue, 12 Apr 2011 11:06:54 -0500
超时与mail.global.frontbridge.com交谈可能是问题的原因。 但是,有人build议,这个特定的超时是由于从命令行发送testing邮件导致本地MTA使用名称“internal.example.edu”来标识自己,导致远程MTA拒绝邮件,因为它没有不承认我们的只有内部域名的DNS。
当服务器上的某些PHP脚本启动失败,无法正确发送邮件时,原始问题被识别。 这些脚本通过Web浏览器(显然)使用服务器的有效外部名称访问。
所以基本上,我想检查Apache用户的本地邮件后台,看看是否有反弹的电子邮件,将内部/外部的名称的事情,并可能摆脱这个问题上更多的光线。 那可能吗? apache用户是否还有一个邮件服务器?
我试图发送一些邮件的Return-Path头设置为我控制的电子邮件地址…但由于整个问题是服务器无法发送电子邮件的权利,这是行不通的。
检查/var/spool/mail/<apache user>存在,这是邮件文件。 你可以用文本编辑器读取它,或者你可以configurationmutt在本地检查它(更改$SPOOLFILE环境variables以使其检查除默认值之外的文件。
编辑:我不知道,如果红帽的邮件假脱机是/var/spool/mail ,所以你可能要戳一下,以确认它。