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).
Другие вопросы по тегам