Postfix 中继到 Office365

woo*_*sbw 9 email linux postfix microsoft-office-365

我正在尝试在 Linux 机器上设置 Postfix 服务器以将所有邮件中继到我们的 Office365(Exchange,由 Microsoft 托管)邮件服务器,但是,我不断收到有关发送地址的错误消息:

BB338140DC1: to=relay=pod51010.outlook.com[157.56.234.118]:587, delay=7.6, delays=0.01/0/2.5/5.1, dsn=5.7.1, status=bounced (host podout51010.com[157.56.234.118. 157.56.234.118] 说:550 5.7.1 客户端没有权限作为这个发件人发送(回复 DATA 命令的结尾))

Office 365 要求 MAIL FROM 和 From: 标头中的发送地址与用于身份验证的地址相同。我已经在配置中尝试了所有我能想到的方法来让它工作。我的postconf -n:

append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
debug_peer_list = 127.0.0.1
inet_interfaces = loopback-only
inet_protocols = all
mailbox_size_limit = 0
mydestination = xxxxx, localhost.localdomain, localhost
myhostname = localhost
mynetworks = 127.0.0.0/8
recipient_delimiter = +
relay_domains = our.doamin
relayhost = [pod51010.outlook.com]:587
sender_canonical_classes = envelope_sender
sender_canonical_maps = hash:/etc/postfix/sender_canonical
smtp_always_send_ehlo = yes
smtp_sasl_auth_enable = yes
smtp_sasl_mechanism_filter = login
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_tls_loglevel = 1
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
Run Code Online (Sandbox Code Playgroud)

/etc/postfix/sender_canonical

www-data                address@mydomain.com
root                    address@mydomain.com
www-data@localhost      address@mydomain.com
root@localhost          address@mydomain.com
Run Code Online (Sandbox Code Playgroud)

此外,sasl_passwd设置为正确的凭据(使用swaks多次测试它们。)身份验证有效,并在 from 标头正确时发送消息(也使用swaks进行测试,该方法有效)

电子邮件来自 PHP,所以我也尝试更改 sendmail 路径php.ini以使用通过 -f 传递正确的发件人地址

因此,出于某种原因,来自www-dataroot 的邮件没有将 from 字段重写为 Office 365 满意,并且不会发送邮件。

任何后缀大师可以帮助我设置这个中继?

woo*_*sbw 3

以防万一以后有人遇到这个情况。我终于让电子邮件中继正常工作了。这些问题与使用较旧版本的 postfix 有关,该版本以 Office 365 不喜欢的方式格式化信封中的“FROM”元素。将 Postfix 更新到 2.9 或更高版本(并使用与上面类似的配置)解决了这个问题。