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

sendmail: пересылать подстановочный знак MX на один адрес электронной почты

Я пытаюсь настроить sendmail для пересылки всей электронной почты на ** @ **. Crm.mycompany.com на crm@mycompany.com. К сожалению, мой sendmail-fu не подходит, и я не могу найти ничего полезного в Google.

Я планировал использовать существующий внутренний Linux-сервер (CentOS 5), перенаправить на него SMTP-трафик с одного из наших запасных внешних IP-адресов и настроить запись MX с подстановочными знаками для указания на этот внешний IP-адрес. Однако мне не удалось заставить sendmail работать с этим.

Мне удалось заставить работать без подстановочных знаков, например добавив test.crm.mycompany.com в / etc / mail / local-host-names и добавив строку «@ test.crm.mycompany.com» в virtusertable. Однако я не могу понять, как использовать подстановочный знак. Эти файлы, похоже, не принимают подстановочные знаки в доменных именах, и, насколько я могу судить, единственной конфигурацией, которая может управлять DNS с подстановочными знаками, является relay_entire_domain. Однако, если я настраиваю свой тестовый домен для ретрансляции, он игнорирует virtusertable и procmail и просто пытается ретранслировать электронную почту, поэтому, если я не могу запустить любой из них для ретрансляции электронной почты, я не думаю, что смогу справиться с этим в любом случае. И последняя морщинка здесь заключается в том, что я не могу установить $ = m для mycompany.com - это всегда наше внутреннее доменное имя (имя хоста - server.internal.lan, а $ = m - internal.lan) и DOMAIN (mycompany .com) dnl в sendmail.mc пытается включить файл из / usr / share (?).

Возможно ли то, что я пытаюсь сделать? Я надеялся повторно использовать для этого внутренний сервер - мне нужно разместить сервер за пределами брандмауэра или вместо этого в DMZ? Будет ли это проще с постфиксом или чем-то другим?

Спасибо за любые предложения!
Руперт.

Как вы отметили, вам нужен подстановочный знак DNS.

Когда приходит почта с адресов с подстановочными знаками, sendmail не знает, что с ней делать. Вы можете исправить это, добавив правило перезаписи sendmail, чтобы перезаписать дикие части поддомена в основную часть домена.

в вашем sendmail.mc:

LOCAL_NET_CONFIG  
R $+ < @ $+ .example.com. > $*    $: $1 < @ example.com > $3       dnl

Обратите внимание, что вам нужна вкладка, чтобы отделить правило левой части от замены правой стороны. ($* заканчивается левая часть; $: начинается с правой стороны.) Обратите внимание, что конечная точка с левой стороны может быть, а может и не быть необходимой. Также обратите внимание, что вам нужна вторая вкладка после правой стороны и комментария (между $3 и dnl).

Убедитесь, что example.com находится в вашем relay-domains файл.

После того, как домен был свернут правилом перезаписи, вы можете направить всю почту для домена одному пользователю с virtusertable запись:

@example.com  luser

Это должно сделать это.