PHPMailer与Postfix交互出现UTF-8语法错误导致邮件发送失败的问题求助
各位好,我现在遇到一个邮件发送的问题,折腾了好久没头绪,想请大家帮忙看看。
我正尝试把新部署的MantisBT bug跟踪系统的邮件输出,配置成用我们的邮件服务器作为智能主机。预期流程是MantisBT通过TLS连接邮件服务器的587端口,用专门的账号issues@mydomain.com认证,再由邮件服务器转发到目标地址。我觉得这个配置逻辑是对的,但也不确定是不是哪里想错了。
环境配置情况
MantisBT使用PHPMailer发送邮件,我应该已经正确配置了SMTP587端口、用户ID等参数- 邮件服务器是长期稳定运行的
iRedMail(底层基于Postfix),没有已知问题;其他内部服务器用同样的方式通过该邮件服务器发件都正常 - 两台服务器均运行Rocky Linux 9.1系统
遇到的问题
所有MantisBT的发件请求都被邮件服务器直接拒绝了。
调试日志信息
我给MantisBT的IP在Postfix中开启了详细调试,得到的关键日志(左侧时间等信息已移除)如下:
unknown[159.xx.xx.20]: 220 mailserver.mydomain.com ESMTP Postfix
watchdog_pat: 0x564330697960
< unknown[159.xx.xx.20]: ????unknown[159.xx.xx.20]: 500 5.5.2 Error: bad UTF-8 syntax
watchdog_pat: 0x564330697960
< unknown[159.xx.xx.20]: ??????
unknown[159.xx.xx.20]: 500 5.5.2 Error: bad UTF-8 syntax
watchdog_pat: 0x564330697960
< unknown[159.xx.xx.20]:
dict_pcre_lookup: /etc/postfix/command_filter.pcre:
unknown[159.xx.xx.20]: 500 5.5.2 Error: bad syntax
watchdog_pat: 0x564330697960
smtp_get: EOF
我的疑问
- 有没有人遇到过类似的情况?
- 为什么
PHPMailer会在SMTP交互过程中发送四个问号作为命令? - 这个问题会不会和STARTTLS配置有关?
麻烦大家帮忙分析一下,谢谢了!
备注:内容来源于stack exchange,提问作者evenmoreconfused




