Centos

PHP 使用什麼郵件傳輸代理?

  • February 19, 2017

我正在嘗試診斷某些電子郵件地址可能在我的伺服器上被阻止的問題。我在 CentOS 5.7 上執行 PHP 5.3。php.ini 文件列出了一個 sendmail_path /usr/sbin/sendmail -t -i,在 CLI 中執行時會掛在那裡。我注意到我的伺服器上也安裝了 qmail,但我不知道 PHP 是否正在使用它。

如何找出 PHP 正在使用哪些 MTA(即 sendmail、qmail 等)?

TL;DR:PHP 不關心您使用的是什麼 MTA。

更長的解釋:這幾乎可以追溯到 POSIX 標準本身,但是每個正確編寫的 MTA 都會提供一個名為的二進製文件,該二進製文件的行為與“官方”程序預期的sendmail行為完全相同。sendmail

結果,每個unix 程序或守護程序,由於某種原因,發現自己需要給某人發電子郵件,知道他們可以/usr/sbin/sendmail使用已知選項進行呼叫,並且確信安裝的任何 MTA 都會知道如何處理來自在裡面。

因此,除非您使用特定的 SMTP PHP 模組並明確使用不同的郵件設置(通常,遠端伺服器/埠有或沒有 TLS 和/或身份驗證),它只會呼叫/usr/sbin/sendmail並讓底層分發擔心接下來會發生什麼.

如果您的郵件沒有送達,我建議您檢查 MTA 的錯誤日誌(通常在/var/log/mail.*但取決於您的分發和 MTA)以獲得答案。

引用自:https://unix.stackexchange.com/questions/343363