Я использую Amazon SES, который в postfix master.cf выглядит так ....
aws-email unix - n n - - pipe
flags=R user=dhiller argv=/usr/bin/perl -I/opt/amazon/ses /opt/amazon/ses/ses-
send-email.pl -r --verbose -k /opt/amazon/ses/aws_credentials.conf -e https://em
ail.us-east-1.amazonaws.com -f support@alvazan.com ${recipient}
Я надеялся, что support@alvazan.com переопределит адрес отправителя, но, похоже, это не сработало при отправке из wordpress, хотя это работает, если я использую отправку из командной строки.
Кто-нибудь знает, как настроить postfix, чтобы все полученные электронные письма имели адрес От, прежде чем вызывать этот вышеупомянутый скрипт amazon perl, чтобы мои адреса от были правильными?
спасибо, Дин
Я считаю, что решение - через canonical(5)
средство отображения, которое описывает адрес уборки будет выполняться с cleanup(8)
демон:
The optional canonical(5) table specifies an address mapping
for local and non-local addresses. The mapping is used by the
cleanup(8) daemon, before mail is stored into the queue. The
address mapping is recursive.
...
Typically, one would use the canonical(5) table to replace
login names by Firstname.Lastname, or to clean up addresses
produced by legacy mail systems.
Эта очистка адресов может выполняться как для локальных представлений (/usr/sbin/sendmail
) и удаленная отправка (через SMTP) - если Wordpress отправляет почту через SMTP. вам может потребоваться добавить свое имя хоста Wordpress в local_header_rewrite_clients
.
Вы предоставляете текстовую таблицу (обычно /etc/postfix/canonical
) к postmap(1)
команда для создания индексированной базы данных. Если From:
из Wordpress всегда одно и то же (wordpress@alvazan.com
, например), тогда запись будет такой:
wordpress@alvazan.com support@alvazan.com
Если From:
из Wordpress, но домен всегда один и тот же, вы можете использовать:
@alvazan.com support@alvazan.com
Если From:
действительно может быть что угодно, и ты всегда хочешь support@alvazan.com
в From:
заголовки, вы можете использовать поддержку регулярных выражений. Я немного подозрительно отношусь к этому, но это вариант:
/./ support@alvazan.com
Вы должны установить canonical_classes
переменная для envelope_sender, header_sender
. (По умолчанию он также включает envelope_recipient
и header_recipient
; может не повредит оставить его в покое, но (особенно с этой жадной опцией регулярного выражения) может быть катастрофой. Это зависит от того, как используется этот конкретный сервер.)
Я рекомендую проводить тестирование поздно вечером и обязательно проверять входящую и исходящую почту после внесения всех изменений. И не забывайте держать свои конфиги под контролем исходного кода. (Но вы все это знали.)