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

Как настроить Exim4 как авторизованный почтовый сервер через вход SPF?

У меня есть сервер, доступный в домене mydomain.com. Почтовый сервер для этого домена (отправляющий и получающий) - mail.provider.com. Поскольку я должен отправлять информационный бюллетень с моего сайта, а провайдер не позволяет использовать свой почтовый сервер для информационных бюллетеней, провайдер разрешил моему серверу отправлять письма (запись SPF).

Итак, я настроил Exim4 на прием соединений только от localhost. Чтобы получить правильный EHLO mydomain.com, мне нужно изменить / etc / hosts и / etc / hostname так, чтобы мой сервер имел имя хоста mydomain.com

С такой конфигурацией я могу без проблем отправлять письма всем крупным почтовым провайдерам. Однако я не могу отправлять письма с сервера на любые адреса @ mydomain.com.

Mainlog говорит:

2011-09-10 16:33:41 1R2Ocn-0001Ba-QD <= info@mydomain.com U=user P=local S=991
2011-09-10 16:33:41 1R2Ocn-0001Ba-QD ** test@mydomain.com: Unrouteable address
2011-09-10 16:33:41 1R2Ocn-0001Bc-Qr <= <> R=1R2Ocn-0001Ba-QD U=Debian-exim P=local S=1758
2011-09-10 16:33:41 1R2Ocn-0001Bc-Qr ** info@mydomain.com: Unrouteable address
2011-09-10 16:33:41 1R2Ocn-0001Bc-Qr Frozen (delivery error message)
2011-09-10 16:33:41 1R2Ocn-0001Ba-QD Completed

Так что изменение / etc / hosts и / etc / hostname здесь не является правильным решением.

Я думаю, что лучшим решением было бы жестко закодировать данные EHLO в /etc/exim4/exim4.conf.template. Уже пробовал это со следующими строками:

REMOTE_SMTP_HELO_DATA=mydomain.com

=> «EHLO vadmin123» вместо «EHLO mydomain.com»

PRIMARY_HOST_NAME = mydomain.com
MAIN_HARDCODE_PRIMARY_HOSTNAME = mydomain.com

=> «EHLO vadmin123» вместо «EHLO mydomain.com»

Что я пропустил?

Не понимаю почему, но когда меняю

remote_smtp:
  debug_print = "T: remote_smtp for $local_part@$domain"
  driver = smtp
  .ifdef REMOTE_SMTP_HOSTS_AVOID_TLS
    hosts_avoid_tls = REMOTE_SMTP_HOSTS_AVOID_TLS
  .endif
  .ifdef REMOTE_SMTP_HEADERS_REWRITE
    headers_rewrite = REMOTE_SMTP_HEADERS_REWRITE
  .endif
  .ifdef REMOTE_SMTP_RETURN_PATH
    return_path = REMOTE_SMTP_RETURN_PATH
  .endif
  .ifdef REMOTE_SMTP_HELO_FROM_DNS
    helo_data = mydomain.ocm
  .endif

к

remote_smtp:
  debug_print = "T: remote_smtp for $local_part@$domain"
  driver = smtp
  .ifdef REMOTE_SMTP_HOSTS_AVOID_TLS
    hosts_avoid_tls = REMOTE_SMTP_HOSTS_AVOID_TLS
  .endif
  .ifdef REMOTE_SMTP_HEADERS_REWRITE
    headers_rewrite = REMOTE_SMTP_HEADERS_REWRITE
  .endif
  .ifdef REMOTE_SMTP_RETURN_PATH
    return_path = REMOTE_SMTP_RETURN_PATH
  .endif
  .ifdef REMOTE_SMTP_HELO_FROM_DNS
    helo_data = mydomain.ocm
  .endif