如何将 Exim4 配置为通过 SPF 条目授权的邮件服务器?

如何将 Exim4 配置为通过 SPF 条目授权的邮件服务器?

我有一台可通过域名 mydomain.com 访问的服务器。此域名的邮件服务器(发送和接收)是 mail.provider.com。由于我必须从我的网站发送新闻稿,而提供商不允许使用其邮件服务器发送新闻稿,因此提供商授权我的服务器发送邮件(SPF 条目)。

因此我将 Exim4 配置为仅接受来自本地主机的连接。为了获得正确的“EHLO mydomain.com”,我必须更改 /etc/hosts 和 /etc/hostname,以便我的服务器具有主机名 mydomain.com

通过此配置,我可以毫无问题地向所有大型邮件提供商发送邮件。但是,我无法从服务器向任何 @mydomain.com 地址发送邮件。

Mainlog 说:

2011-09-10 16:33:41 1R2Ocn-0001Ba-QD <= [email protected] U=user P=local S=991
2011-09-10 16:33:41 1R2Ocn-0001Ba-QD ** [email protected]: 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 ** [email protected]: 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 似乎不是正确的解决方案。

我认为最好的解决方案是在 /etc/exim4/exim4.conf.template 中对 EHLO 数据进行硬编码,已经使用以下几行尝试过:

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”

我错过了什么?

答案1

我不明白为什么,但当我改变

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

相关内容