Linux

需要 mail() 在 PHP 中工作的簡單 Web 伺服器的 Sendmail 配置

  • August 4, 2009

我有一個 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

這些通常對我有用。祝你好運。

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