Я занимаюсь настройкой веб-приложения, которое должно отправлять электронные письма через два разных адреса электронной почты в домене, использующем Google Apps. Я использую Postfix в качестве ретранслятора, поскольку я достаточно знаком с ним.
Однако я изо всех сил пытаюсь понять, как заставить это работать с двумя разными адресами электронной почты в одном домене. У меня сложилось впечатление, что вам нужно настроить два разных файла паролей в / etc / postfix / sasl, что я сделал, а затем установить smtp_sasl_password_maps на хэш: / etc / postfix / sasl / passwd, но я m не слишком уверен в синтаксисе, необходимом для двух разных файлов. Я пробовал установить его следующим образом:
smtp_sasl_password_maps = hash:/etc/postfix/sasl/passwd, hash:/etc/postfix/sasl/passwd2
Но, похоже, это не помогает. Я также пробовал разместить оба в одном файле, но это тоже не сработало. Какой бы метод я ни попробовал, кажется, что он принимает только один адрес. Google тоже не очень помогает с этой проблемой?
Кто-нибудь может увидеть, где я здесь заблудился?
РЕДАКТИРОВАТЬ: Возможно, я не слишком понимал, что пытаюсь сделать.
На веб-сервере example.com установлен Postfix, но записи MX указывают на Google Apps. Существует два адреса электронной почты, noreply@example.com и support@example.com, и оба они находятся в Google Apps. Я хочу настроить Postfix на использование Google Apps в качестве ретранслятора для обоих этих адресов электронной почты.
Проблема в том, что я не могу понять, как настроить карты паролей для этих двух учетных записей, и поэтому могу настроить их только для одной, а не для обеих.
Может помочь проверка подлинности, зависящая от отправителя. В официальной документации есть хороший пример.
Postfix поддерживает разные учетные записи ISP для разных адресов отправителя (версия 2.3 и выше). Это может быть полезно, когда один человек использует одну и ту же машину для работы и для личного использования, или когда люди с разными учетными записями интернет-провайдеров используют один и тот же сервер Postfix.
Чтобы сделать это возможным, Postfix поддерживает пароли SASL для каждого отправителя и хосты ретрансляции для каждого отправителя. В приведенном ниже примере клиент SMTP Postfix будет искать файл паролей SASL по адресу отправителя, прежде чем искать тот же файл по месту назначения. Точно так же демон trivial-rewrite (8) Postfix будет искать файл relayhost для каждого отправителя и использовать настройку relayhost по умолчанию только в качестве последнего средства.
/etc/postfix/main.cf:
smtp_sender_dependent_authentication = yes
sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
relayhost = [mail.isp.example]
# Alternative form:
# relayhost = [mail.isp.example]:port
/ и т.д. / постфикс / sasl_passwd:
# Per-sender authentication; see also /etc/postfix/sender_relay.
user1@example.com username1:password1
user2@example.net username2:password2
# Login information for the default relayhost.
[mail.isp.example] username:password
# Alternative form:
# [mail.isp.example]:port username:password
/ etc / postfix / sender_relay:
# Per-sender provider; see also /etc/postfix/sasl_passwd.
user1@example.com [mail.example.com]:port
user2@example.net [mail.example.net]
Вам нужно включить аутентификация, зависящая от отправителя так что Postfix выберет соответствующие учетные данные в зависимости от отправителя доставляемого сообщения. Карта паролей должна быть заполнена адресом отправителя, а не хостом ретрансляции.
main.cf
:
smtp_sender_dependent_authentication = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password_maps
sasl_password_maps
:
noreply@example.com noreply@example.com:password123
support@example.com support@example.com:password456