Я настроил сервер exim4 для отправки электронной почты только на Debian Sid.
Если я просто отправлю электронное письмо, оно будет работать нормально, и оно будет доставлено в мой почтовый ящик. Однако, если я отправлю электронное письмо с помощью WordPress, оно будет доставлено мне в ящик для спама.
Я думаю, это вызвано:
envelope-from <www-data@example.com>
Return-Path: www-data@example.com
From: WordPress <wordpress@example2.com>
Заголовки не совпадают. Могло ли это вызвать эту проблему? Обратите внимание на разницу между example.com и example2.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 следует использовать -f
параметр для sendmail, поскольку он использует класс PHPMailer, который делает это по умолчанию. Однако я хотел бы решить эту проблему на уровне exim4 (возможно, используя From
заголовок для envelope-from
и Return-Path
).
Меня не волнует, могут ли другие пользователи отправлять электронные письма с другого адреса электронной почты, потому что www-data в основном является единственным пользователем на этом сервере.
Если вам нужна дополнительная информация, спросите меня.
Я добавил следующие строки:
local_from_check = false
local_sender_retain = true
untrusted_set_sender = *
Но все равно не работает.
WP должен быть настроен для отправки сообщений по протоколу SMTP. Обычно локальная отправка осуществляется через сокет / LMTP, где в качестве отправителя используется локальный пользователь, владелец веб-сервера. Когда это www@localhost
MTA становятся очень строгими.