解决方案“需要 SMTPUTF8,但主机未提供”

服务器运维   2022-08-28 12:12   312   0  

在一个邮件服务器上,我注意到一个消息传递错误:

未投递的邮件退回给发件人
SMTPUTF8 是必需的,但主机未提供

就我而言,发生错误的原因是邮件服务器接受了非常旧版本的信件并且不支持 SMTPUTF8,默认情况下,在较新的 Postfix 版本(> 3.0)中启用了 SMTPUTF8。如 RFC 6531(SMTPUTF8 扩展)、RFC 6532(国际化电子邮件标头)、RFC 6533(国际化传递状态通知)中所定义。

让我们看看当前的 Postfix 版本:

postconf mail_version
postconf -d | grep mail_version

您可以通过在 /etc/postfix/main.cf 文件中指定来禁用 SMTPUTF8:

smtputf8_enable = no

要应用更改,请运行以下命令:

postfix reload

如果 /etc/postfix/main.cf 配置文件中不存在 smtputf8_enable 选项并且 Postfix 比 3.0 更新,则默认启用 SMTPUTF8。就个人而言,我在邮件服务器上启用了 SMTPUTF8。

此外,如果错误发生在本地服务器上,例如:
需要 SMTPUTF8,但主机 127.0.0.1 未提供,
那么这可能意味着例如 SMTPUTF8 在 Postfix 中启用但在 Amavis 中禁用。

当然奥奥是在 /etc/postfix/main.cf 添加以下代码:

smtputf8_autodetect_classes = sendmail, 
verifysmtputf8_enable = no
strict_smtputf8 = no

然后重启服务:

systemctl restart postfix.service

查看日志:/var/log/maillog  看到这个250OK 就是发送成功了!

我是Centos8的宝塔,默认

Postfix SMTPUTF8
版本是 3.5.8

博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。