Php

強制 PHP 郵件避免使用後綴 root@myorigin;改用 /etc/mailname 嗎?

  • August 13, 2015

我最近發布了一個使用後綴和虛擬別名設置郵件伺服器的問題。我在這裡解決了這個問題:

Postfix/Dovecot - 多個域和多個 Linux 帳戶

總而言之,我設置myorigin為 localhost,以及其他一些設置。通過 SMTP 發送和接收郵件效果很好!/usr/sbin/sendmail但是,當從PHP 的命令發送郵件時mail(),它會以某種方式忽略From:標題,而是獲取myorigin值。

這是重要的標題:

From: Me <user@example.org>
Return-path: <root@localhost>
Received: from example.org (example.org [104.xxx.xxx.xxx]) by mx.google.com with ESMTPS...
Received-SPF: neutral (google.com: 104.xxx.xxx.xxx is neither permitted nor denied by best guess record for domain of root@localhost) client-ip=104.xxx.xxx.xxx;

當我更改myoriginexample.org使用 PHP 可以很好地發送所有內容時,卻完全削弱了我以任何其他方式接收和發送郵件的能力。所以這不是一個真正的解決方案。

所以我想做的是告訴/usr/sbin/sendmail不要使用myorigin,而/etc/mailname 只是為了 PHP。我想在其他任何地方保留 postfix 的電子郵件。

這可能嗎?

謝謝你。

好的,所以也許我在發布這個問題時有點倉促。事實證明,這很好用:

/usr/sbin/sendmail -i -t -f postmaster@example.org

所以,真正的解決方案是使用

mail.force_extra_parameters標誌,並將其設置為 -fpostmaster@example.org

只要確保您不使用 cli php.ini 進行測試,期望 apache php.ini 可以工作。噓。

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