2013-06-20 4 views
0

Я решил опубликовать это здесь, а не на ServerFault, как общество есть в небольшой и почти 80% из моих вопросов без ответа ...PHP + PostFix + Amazon SES + Несколько доменов (транспорты)

Итак, у меня есть мой раздел с 3 доменами: x.com, y.com и z.com. x.com реле внутри, ретрансляторы y.com внутри и z.com ДОЛЖНЫ пересылаться через SAS амазонки.

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

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

sender_dependent_relayhost_maps = хэш:/и т.д./постфикса/sender_transport domainz_sasl_auth_enable = да domainz_sasl_security_options = noanonymous domainz_sasl_password_maps = хэш:/и т.д./постфикса/sas2_passwd domainz_use_tls = да domainz_tls_security_level = шифровать domainz_tls_note_starttls_offer = да domainz_tls_CAfile = /etc/ssl/certs/ca-bundle.crt

и в моем master.cf, у меня есть ppended канал UniX выше SMTP по умолчанию:

domainz UNIX - - п - 1 SMTP SMTP инет п - п - - smtpd

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

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

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

ответ

1

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

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

В main.cf, независимо от "SMTP/Unix-сокет", мы прямо использовать стандарты SES: smtp_sasl_auth_enable = да smtp_sasl_security_options = noanonymous smtp_sasl_password_maps = хэш:/и т.д./постфикса/SAS smtp_use_tls = да smtp_tls_security_level = шифровать smtp_tls_note_starttls_offer = да smtp_tls_CAfile =/и т.д./SSL/сертификаты/CA-bundle.crt

В sender_dependent_relayhost_maps мы используем: @ domainz.com [email-smtp.us-east-1.amazonaws.com ]: 25

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

И все!