Apache-2.2

是否可以檢查 Apache 使用者的郵件?

  • April 30, 2021

我正在嘗試調試在 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 -----
<bob@subdomain.example.edu>

  ----- Transcript of session follows -----
<bob@subdomain.example.edu>... 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; bob@subdomain.example.edu
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可能是問題的原因。但是,有人認為這個特定的超時是因為從命令行發送測試電子郵件導致本地 MTA 使用名稱“internal.example.edu”來標識自己,導致遠端 MTA 拒絕該郵件,因為它沒有’無法辨識我們的內部專用 DNS。

當伺服器上的一些 PHP 腳本開始無法正確發送郵件時,發現了最初的問題。這些腳本是通過 Web 瀏覽器(顯然)使用伺服器的有效外部名稱訪問的。

所以基本上,我想檢查 apache 使用者的本地郵件假離線,看看那裡是否有退回電子郵件,這些郵件會將內部/外部名稱排除在等式之外,並可能對此事有更多的了解。那可能嗎?apache 使用者甚至有郵件假離線嗎?

我嘗試發送一些將 Return-Path 標頭設置為我控制的電子郵件地址的郵件……但由於整個問題是伺服器無法正確發送電子郵件,所以這不起作用。

檢查是否/var/spool/mail/<apache user>存在,它是郵件文件。您可以使用文本編輯器閱讀它,也可以配置mutt為在本地檢查它(更改$SPOOLFILE環境變數以使其檢查預設文件以外的文件。

**編輯:**我不確定 Red Hat 的郵件假離線是否是/var/spool/mail,所以您可能需要四處尋找以確認它。

引用自:https://serverfault.com/questions/259029