PHP + PostFix + Amazon SES + несколько доменов (транспорт)

Я решил опубликовать это здесь, а не на serverfault, так как сообщество слишком маленькое и почти 80% моих вопросов остаются без ответа...

Итак, у меня есть сервер с 3 доменами: x.com, y.com и z.com. x.com ретранслируется внутри, y.com ретранслируется внутри, а z.com СЛЕДУЕТ ретранслировать через amazon SES.

Прямо сейчас x и y.com правильно обслуживают внутреннюю почту, но мне нужно, чтобы z.com ретранслировал через SES.

Итак, мой пока конфиг в main.cf:

sender_dependent_relayhost_maps = hash:/etc/postfix/sender_transport domainz_sasl_auth_enable = yes domainz_sasl_security_options = noanonymous domainz_sasl_password_maps = hash:/etc/postfix/sas2_passwd domainz_use_tls = yes domainz_tls_security_level = encrypt domainz_tls_note_starttls_offer = yes domainz_tls_offer = yes domainz_tls_security_level = encrypt domainz_tls_note_starttls_offer = yes domainz_tls_offer

и в моем master.cf я добавил канал unix над smtp по умолчанию:

domainz unix - - n - 1 smtp smtp inet n - n - - smtpd

и в моем sender_transport у меня есть

@domainZ.com domainz: 1. Где мне ввести smtp ses "email-smtp.us-east-1.amazonaws.com". Я предполагаю, что нам нужно нажать «domainz:», чтобы мы могли передать ему правильные данные sasl. 2. Имейте в виду, что это почта, исходящая с сервера, а не входящая, поэтому я не устанавливал transport_map. Это ошибка, которую я получаю при отправке почты из @domainz: "status=bounced (Host or domain name not found. Ошибка службы имен для name=domainz type=AAAA: Host not found)"; поэтому, прежде чем мы сможем даже добраться до хоста Amazon SES, у меня возникла проблема на транспортном уровне, которую я не могу понять.

Спасибо, Майк


person MKN Web Solutions    schedule 20.06.2013    source источник


Ответы (1)


После почти 24 часов попыток решить эту проблему я наконец понял это. Я надеюсь, что это поможет тем, кто хочет использовать тот же метод и не должен проходить через боль, через которую я только что прошел!

Итак, в моем примере выше домен x + y ретранслируется через виртуальные псевдонимы. Для z мы должны использовать транспорт, в данном случае это был транспорт sender_dependent_relayhost_maps, чтобы я мог захватить отправителя и ретранслировать его через amazon SES.

В main.cf, независимо от smtp/unix-socket, мы напрямую используем стандарты SES:

smtp_sasl_auth_enable=yes
smtp_sasl_security_options=noanonymous
smtp_sasl_password_maps=hash:/etc/postfix/sas
smtp_use_tls=yes
smtp_tls_security_level=encrypt
smtp_tls_note_starttls_offer=yes
smtp_tls_CAfile=/etc/ssl/certs/ca-bundle.crt

В sender_dependent_relayhost_maps мы используем:

@domainz.com   [email-smtp.us-east-1.amazonaws.com]:25

В файле smtp_sasl_password_maps хранится пользователь: ключ соответствующего реле.

Вот и все!

person MKN Web Solutions    schedule 21.06.2013