Php

Exim4 信封——來自使用 PHP 的 mail()

  • June 27, 2014

我已經設置了一個 exim4 伺服器,僅用於在 Debian Sid 上發送電子郵件。

如果我只是發送一封電子郵件,它可以正常工作,並且電子郵件會發送到我的收件箱中。但是,如果我使用 WordPress 發送電子郵件,它會在我的垃圾郵件箱中發送。

我認為這是由於:

envelope-from <www-data@example.com>
Return-Path: www-data@example.com
From: WordPress <wordpress@example2.com>

標題不匹配。這會導致這個問題嗎?請注意example.comexample2.com之間的區別。

我嘗試在 exim4 的配置中設置以下行,但沒有幫助(標題沒有更改):

當然,在那之後我已經重新啟動了 exim4。

MAIN_TRUSTED_USERS = uucp : www-data
[...]
trusted_users = MAIN_TRUSTED_USERS
untrusted_set_sender = *

我設置了 SPF 記錄:

這些可能還沒有解決,這可能是問題嗎?

example.com:  "v=spf1 ptr -all"
example2.com: "v=spf1 include:example.com -all"

WordPress 應該使用-fsendmail 的參數,因為它使用預設情況下這樣做的 PHPMailer 類。但是,我想在 exim4 級別解決這個問題(可能使用From標頭 forenvelope-fromReturn-Path)。

我不在乎其他使用者是否也可以從另一個電子郵件地址發送電子郵件,因為 www-data 基本上是該伺服器上的唯一使用者。

如果您需要更多資訊,請詢問我。


我添加了以下幾行:

local_from_check = false
local_sender_retain = true
untrusted_set_sender = *

但它仍然無法正常工作。

WP 應配置為通過 SMTP 協議發送消息。通常通過套接字/LMTP 執行本地送出,其中本地使用者 Web 伺服器所有者用作發送者。當它是www@localhostMTA 變得非常嚴格。

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