Linux

從 PHP 獲取使用 mail() 發送的郵件日誌(sendmail?)

  • January 9, 2016

在某些伺服器更改後,我們的 PHP 配置遭到破壞,這導致客戶端的大型郵件列表部分超時,大約有 4,000 個或更多地址。我們希望盡可能避免發送重複郵件,並且我們擁有原始郵件列表。

郵件是使用 PHP 的mail()函式發送的,該函式使用sendmail,表示它正在使用Exim. 我看過命令:

sendmail -bp

這給了我一個顯示已發送的郵件列表。這個列表不是很大,並且可能是準確的(這意味著腳本在只發送了大約一百封電子郵件後就超時了)

sendmail -bp獲得此列表的最佳方式是什麼?

**編輯:**我在或 via中找不到任何mail.log文件,但 WHM 似乎對此有一些資訊。/var/log/mail.log``locate mail.log

在基於 Debian 的系統上,exim 將數據記錄在/var/log/exim4/mainlog.

您可能會發現eximstats工具可用於從該日誌文件中解析和剔除有用資訊。

sendmail -bp(and mailq) 僅列出郵件隊列:已排隊但尚未發送的郵件。它不包括那些已成功傳遞的消息。

您應該檢查/var/log/mail.log(和其他日誌文件)——它們幾乎總是有每次傳輸的記錄。

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