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

Как я могу сказать exim`` использовать хост умного ретранслятора?

У меня возникла проблема с отправкой почты на моем сервере. Мой хозяин сообщил мне, что это связано с тем, что он не отправил его через ретранслятор. Они пытались сказать мне, что делать, вот их инструкция:

Edit /etc/mail/sendmail.cf or /etc/sendmail.cf depend on your operating system.

and edit as 

# “Smart” relay host (may be null)
DS<mailserver_hostname>

exam.
DSspamfilter.de.santrex.net:1001

Для меня ни одного файла не существует, и им требуется целая вечность, чтобы ответить. Я надеялся, что кто-то здесь может знать решение.

Я использую CentOS5.5 с cPanel / WHM на VPS

В cpanel может быть особый способ сделать это, но дайте общий ответ для Exim, вам нужно создать новый маршрутизатор, который будет соответствовать всей нелокальной почте. В конфигурационном файле exim по умолчанию уже есть один под названием «dnslookup». Этот маршрутизатор направляет всю нелокальную почту на транспорт под названием «remote_smtp», который использует DNS, чтобы решить, на какой сервер отправлять почту.

Итак, чтобы добавить статический маршрут к серверу исходящей почты, добавьте новый маршрутизатор над существующим маршрутизатором dnslookup (поскольку порядок в маршрутизаторах имеет значение, ваша почта будет обрабатываться первым из подходящих).

Вот пример того, что в простой конфигурации (только один исходящий сервер, на порту 25, без аутентификации) должен работать Just Work:

static:
  driver = manualroute
  domains = ! +local_domains
  route_list = * <mailserver_hostname>
  transport = remote_smtp
  no_more
  no_verify

Вот немного более сложный пример из моей собственной конфигурации с использованием pobox.com в качестве ретранслятора на порту 587 с использованием аутентификации:

# This goes in ROUTERS section
static:
  driver = manualroute
  domains = ! +local_domains
  route_list = * sasl.smtp.pobox.com::587
  transport = auth_remote_smtp
  no_more
  no_verify

# This goes in TRANSPORTS section
auth_remote_smtp:
  driver = smtp
  hosts_require_auth = *

# This goes in AUTHENICATORS section
auth_plain:
  driver = plaintext
  public_name = plain
  client_send = ^MYUSERNAME^MYPASSWORD

(pobox поддерживает только LOGIN и PLAIN для типов аутентификации, но он поддерживает TLS, который Exim будет использовать из коробки, поэтому мои кредиты передаются только по ссылке TLS).

Вот пример журнала исходящей почты, которую я отправил на этот сервер, используя указанные выше конфигурации:

2010-11-26 10:04:49 LCHZ81-0000HN-NN <= SENDERADDRESS H=localhost (g3) [127.0.0.1] P=esmtp S=441  
2010-11-26 10:04:50 LCHZ81-0000HN-NN => RECIPADDRESS R=static T=auth_remote_smtp H=sasl.smtp.pobox.com [64.74.157.62] X=TLSv1:DHE-RSA-AES256-SHA:256  
2010-11-26 10:04:50 LCHZ81-0000HN-NN Completed