Настройка отправки электронной почты за брандмауэром

StackOverflow https://stackoverflow.com/questions/43970

Вопрос

Я настраиваю сервер, который находится в сети за брандмауэром, и я хочу, чтобы программы на этом компьютере могли использовать sendmail для отправки электронных писем на любой адрес электронной почты.В этой сети работает SMTP-сервер (назовем его mailrelay.example.com), с помощью которого мы должны получать исходящие электронные письма через брандмауэр.

Итак, как мне настроить sendmail для отправки всей почты через mailrelay.example.com?Поиск в Google пока не дал мне ответа, а только показал, что конфигурация sendmail чрезвычайно сложна и раздражает.

Это было полезно?

Решение

@илай:изменение sendmail.cf напрямую обычно не рекомендуется, поскольку оно генерируется компилятором макросов.

Отредактируйте файл /etc/mail/sendmail.mc, чтобы включить строку:

  define(`SMART_HOST',`mailrelay.example.com')dnl 

После изменения sendmail.mc файла конфигурации макроса его необходимо перекомпилировать для создания файла конфигурации sendmail.

  # m4 /etc/mail/sendmail.mc > /etc/sendmail.cf

И перезапустите службу sendmail (Linux).:

  # /etc/init.d/sendmail restart

Помимо настройки smarthost, вы можете также отключить настройку разрешения имен и, возможно, перевести вашу электронную почту на нестандартный порт или отключить режим демона.

Отключить Разрешение имен

Сервера, которые находятся в огонь стенами сети или через сеть адрес Трансляции адресов (NAT) не может иметь DNS или услугами, доступными НИС.Это создает проблему для sendmail, поскольку он будет использовать DNS по умолчанию, и если он недоступен , вы увидите подобные сообщения в mailq:

  host map: lookup (mydomain.com): deferred)

Если вы не готовы настроить соответствующую службу DNS или NIS, которую может использовать sendmail, в этой ситуации вы, как правило, настраиваете разрешение имени , которое выполняется с помощью файла /etc/hosts.Это делается путем включения файла "service.switch" и указания разрешения по файлам следующим образом:

1:Включите service.switch для sendmail Отредактируйте файл /etc/mail/sendmail.mc, чтобы включить строки:

  define(`confSERVICE_SWITCH_FILE',`/etc/mail/service.switch')dnl

2:Настройте службу.переключатель для файлов Создайте или измените /etc/mail/service.переключатель, чтобы имя указывалось только на /etc/hosts разрешение:

  # cat /etc/mail/service.switch
  hosts files

3:Перекомпилируйте sendmail.mc и перезапустите sendmail, чтобы этот параметр вступил в силу.

Переключите отправку почты на нестандартный порт или отключите режим демона

По умолчанию sendmail будет прослушивать данные через порт 25.Возможно, вы захотите изменить этот порт или вообще отключить режим демона отправки почты по разным причинам:- если существует политика безопасности, запрещающая использование общеизвестных портов - если другой продукт / процесс SMTP должен быть запущен на том же хосте через стандартный порт - если вы вообще не хотите принимать почту через smtp, просто отправьте ее с помощью sendmail

1:Чтобы переключить sendmail на использование нестандартного порта.Отредактируйте файл /etc/mail/sendmail.mc и измените параметр "Порт" в строке:

  DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')

Например, чтобы заставить sendmail использовать порт 125:

  DAEMON_OPTIONS(`Port=125,Addr=127.0.0.1, Name=MTA')

Для этого потребуется sendmail.mc перекомпилировать и перезапустить sendmail.

2:В качестве альтернативы, чтобы полностью отключить режим демона sendmail (Linux) Отредактируйте /etc/sysconfig/sendmail и измените параметр "ДЕМОН" на:

  DAEMON=no

Это изменение потребует перезапуска sendmail.

Другие советы

http://www.elandsys.com/resources/sendmail/smarthost.html

Отправить Почту Smarthost

Smarthost - это хост, через который ретранслируется исходящая почта.Некоторые интернет-провайдеры блокируют исходящий SMTP-трафик (порт 25) и требуют, чтобы их пользователи отправляли всю почту через почтовый сервер интернет-провайдера.Sendmail может быть настроен на использование почтового сервера провайдера в качестве интеллектуального хостинга.

Прочтите статью по ссылке для получения инструкций о том, как это настроить.

@Всто:Спасибо за отличный совет, с чего начать.Ваша ссылка была бы лучше, если бы я настраивал sendmail для его первого использования, вместо того чтобы брать существующую конфигурацию и вносить это небольшое изменение.Однако, как только я понял, что нужно искать информацию на "SmartHost", я нашел более простой способ.

Все, что мне нужно было сделать, это отредактировать мой файл /etc/mail / sendmail.cf, чтобы изменить

DS

Для

DSmailrelay.example.com

затем перезапустите sendmail, и это сработало.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top