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