smtproutes ретранслирует все, кроме локальных виртуальных доменов
Я использую smtproutes для доставки электронной почты пользователей в определенные домены через внешний SMTP-сервер с помощью example.com:externalsmtp.com.
Как я могу доставлять все электронные письма на внешний SMTP, за исключением локальных виртуальных доменов?
1 ответ
См. справочную страницуqmail-remote(8)
, Управляющие файлы:
smtproutes
Искусственные SMTP-маршруты. Каждый маршрут имеет вид
domain:relay
, без каких-либо дополнительных пробелов. Если совпадение с хостом , qmail-remote подключится к нему, как если бы хост имел единственный MX. (Это также позволит избежать каких-либоCNAME
поиск по рецепту .) хост может включать двоеточие и номер порта, который будет использоваться вместо обычного порта SMTP, 25:inside.af.mil:firewall.af.mil:26
relay
может быть пустым; это говорит qmail-remote искать записи как обычно. smtproutes может включать подстановочные знаки :.af.mil: :heaven.af.mil
Здесь любой адрес, заканчивающийся на
.af.mil
(но нетaf.mil
сам) маршрутизируется по егоMX
записи; любой другой адрес искусственно направляется наheaven.af.mil
.
Это не указывает на это напрямую, но также может быть пустым, что работает как подстановочный знак. Таким образом, вы можете указать ретранслятор интеллектуального хоста , как объяснил, например, Дэйв Силл в Life с qmail : 3.2.4. Ретрансляция на смарт-хост .
echo ":smtp.example.com" > /var/qmail/control/smtproutes
Итак, если вы хотите ретранслировать все, кроме и через смарт-хост:
example.net:
example.org:mail.example.org
:smtp.example.com
Здесь,
- отправьте письмо по адресу
example.net
будет искать записи MX (пустое «реле»), - отправьте письмо по адресу
example.org
пройдётmail.example.org
, и - все остальное пройдет через смарт-хост
smtp.example.com
(пусто, т.е. подстановочный знакdomain
).