需要 mail() 在 PHP 中工作的簡單 Web 伺服器的 Sendmail 配置
我有一個 Web 伺服器(CentOS 5),我需要能夠使用 PHP mail() 函式發送郵件。
我的 PHP mail() 函式工作正常。Sendmail 配置是我需要調整的。
我需要在伺服器上配置 sendmail 以發送“From”“support@mydomain.com”。
我知道,如果你去 sendmail 常見問題解答,它會說“我們在偽裝和中繼(http://www.sendmail.org/m4/masquerading.html)部分詳細討論了這個”但我已經通過了該部分一遍又一遍,我的郵件日誌仍然顯示如下內容:
Aug 4 15:11:11 tdbb sendmail[30582]: n73Mngeq028343: to=, ctladdr= (48/48), delay=20:21:29, xdelay=00:00:01, mailer=esmtp, pri=2129764, relay=smtp.easydns.com. [64.68.200.52], dsn=2.0.0, stat=Sent (Ok: queued as 6120181E4C)
我寧願它說:
Aug 4 15:11:11 tdbb sendmail[30582]: n73Mngeq028343: to=, ctladdr= (48/48), delay=20:21:29, xdelay=00:00:01, mailer=esmtp, pri=2129764, relay=smtp.easydns.com. [64.68.200.52], dsn=2.0.0, stat=Sent (Ok: queued as 6120181E4C)
注意 ctladdr 部分。
這是我所做的:
在 /etc/mail/sendmail.mc
我已啟用該行:
MASQUERADE_AS(
mydomain.com’)dnl`和
FEATURE(masquerade_envelope)dnl
除了這兩行之外,我認為我沒有更改預設配置的任何內容。
當然,當我完成配置文件後,我會去 /etc/mail 並執行“make”、“make restart”。
確保這些設置已更改 sendmail.cf 文件。我之前不得不與 sendmail 配置作鬥爭,這需要一些耐心和理解。我通常為它 m4 文件以重新生成 cf 文件,然後重新啟動 sendmail 服務。
試試這些:
MASQUERADE_AS(`mydomain.com')dnl MASQUERADE_DOMAIN(`mydomain.com')dnl FEATURE(`masquerade_envelope')dnl
這些通常對我有用。祝你好運。