Назад | Перейти на главную страницу

Использование Postfix для ретрансляции через несколько аккаунтов Google Apps

Я занимаюсь настройкой веб-приложения, которое должно отправлять электронные письма через два разных адреса электронной почты в домене, использующем 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]
  • Выполняйте команду "postmap / etc / postfix / sasl_passwd" всякий раз, когда вы изменяете таблицу sasl_passwd.
  • Выполняйте команду "postmap / etc / postfix / sender_relay" всякий раз, когда вы изменяете таблицу sender_relay.

Вам нужно включить аутентификация, зависящая от отправителя так что 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