У меня есть сервер, доступный в домене 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