Недавно я заметил, что, когда я добавляю псевдоним к учетной записи Gmail, они запрашивают у меня удаленный SMTP-сервер, имя пользователя и пароль. Затем, когда я пытаюсь отправить электронное письмо с использованием этого псевдонима, оно передается Gmail на предоставленный SMTP-сервер.
Есть ли способ выполнить эту настройку при установке Postfix?
Чтобы уточнить, на моем сервере есть виртуальный пользователь person@exemple.com
(с псевдонимами: external.person@xpto.com
и external.other@corpx.com
), если он отправит электронное письмо:
from
адрес person@exemple.com
=> сервер выполнит доставку по умолчанию;from
адрес external.person@xpto.com
=> сервер будет ретранслировать электронную почту, используя smtp.xpto.com
(с соответствующими полномочиями);from
адрес external.other@corpx.com
=> сервер будет ретранслировать электронную почту, используя smtp.corpx.com
(с соответствующими полномочиями);В идеале было бы хорошо, если бы у меня была таблица MySQL с внешними псевдонимами (для каждого виртуального пользователя), содержащая домен внешнего SMTP-сервера, порт, имя пользователя и пароль. => Таким образом, я мог бы настроить небольшой веб-интерфейс, чтобы мои пользователи могли все свои внешние связи ...
Спасибо.
Я думаю, вы можете добиться этого, настроив sender_dependent_default_transport_maps
или sender_dependent_relayhost_maps
Параметры Postfix. Например:
# /etc/postfix/main.cf
sender_dependent_default_transport_maps = hash:/etc/postfix/sender_maps.cf
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sender_credentials.cf
smtp_sasl_tls_security_options = noanonymous
smtp_sender_dependent_authentication = yes
smtp_tls_security_level = may
# /etc/postfix/sender_maps.cf
external.person@xpto.com smtp:[smtp.xpto.com]:587
external.other@corpx.com smtp:[smtp.corpx.com]
# /etc/postfix/sender_credentials.cf
external.person@xpto.com xptouser:xptopassword
external.other@corpx.com corpxuser:corpxpassword
В этом примере используются статические хеш-таблицы. Если ваша установка Postfix поддерживает mysql_table (5)вместо этого вы можете использовать запросы MySQL.
Сейчас я не могу протестировать это решение. Надеюсь это работает.