以下標頭使用PHP的郵件發送()函數:阿帕奇重置 「返回路徑:」 對<[email protected]>在PHP的mail()函數
$emailheaders = "From: " . $sender . "\n";
$emailheaders .= "Return-Path: " . $sender . "\n";
$emailheaders .= "MIME-Version: 1.0\n";
$emailheaders .= "Content-type: text/html; charset=UTF-8\r\n";
mail($email, $subject, $body, $emailheaders);
它工作正常,但Return-Path:
重置爲[email protected]
,或者至少在查看使用上述標題收到的電子郵件的擴展標題時顯示的內容。當然這意味着沒有收到退回郵件。
Apache是否重置標題,在這種情況下爲什麼,或者我錯誤地使用了mail()
?
我該怎麼做才能防止這種情況發生。使用mail()
的第五個參數(例如-f [email protected]
)是不可能的,因爲PHP處於安全模式,並且提供程序不會更改它。我想,儘管安全模式已經開啓,但仍然沒有某種方法可以讓某些用戶使用第五個參數。
服務器運行Apache 2.2.3和PHP版本5.1.6。
你還可以添加'Reply-To'字段並看看會發生什麼?現在你在混合'\ n'和'\ r \ n'。大多數PHP郵件示例使用「\ r \ n」,因此您可能首先要解決這個問題。 –
添加回復不會改變事情。關於缺少「\ r」,請參閱下面的帖子。 – Matte