linux mailx sendmail 发送邮件QQ邮箱能收到,163网易邮件收不到,提示 reason: 550 MI:IMF 163 mx37,
提醒:您在 /var/spool/mail/root 中有邮件
直接输入 mail 命令: mail

查看邮件得知:
 From MAILER-DAEMON@phpsrc Sat Dec 18 12:43:47 2021 Return-Path: <MAILER-DAEMON@phpsrc> Date: Sat, 18 Dec 2021 12:43:47 -0500 From: Mail Delivery Subsystem <MAILER-DAEMON@phpsrc> To: <root@phpsrc> Content-Type: multipart/report; report-type=delivery-status; boundary="1BIHhl9B003445.1639849427/phpsrc" Subject: Returned mail: see transcript for details Auto-Submitted: auto-generated (failure) Status: R
Part 1:
The original message was received at Sat, 18 Dec 2021 12:43:43 -0500 from localhost [127.0.0.1]
----- The following addresses had permanent fatal errors ----- <checkwebstatus@163.com> (reason: 550 MI:IMF 163 mx37,V8CowABnsejQHb5hJWiOFQ--.415S3 1639849427 http: //mail.163.com/help/help_spam_16.htm?ip=45.86.66.162&hostid=mx37&time=1639849427 )
经查询 550 MI:IMF 代码错误原因是发件人
http://help.163.com/09/1224/17/5RAJ4LMH00753VB8.html

550:MI:IMF 发信人电子邮件地址不合规范。
此原因是主机名 hostname 不是域名造成的。同一邮件发送,QQ邮箱能收到,163网易收不到,看来各家对接收邮件的规则也不太一样。
知道原因后,就把主机名修改成域名格式的吧:
vi /etc/hostname

设置后,要重启网卡,或重启电脑生效。
查看是否生效: hostname 返回的内容如果是刚设置的,就说明成功了。
如果未生效,又不想重启,可以临时用命令 hostname phpsrc.com,将主机名临时设置成 phpsrc.com

这样设置,基本就解决了上述错误代码的问题。
如果还是没成功,根据上述方法检查 mail 中的错误代码进一步解决。
除了这些,还有一个重要步骤,查看邮件是否被163网易服务商给拦截了,可通过以下方法将被拦截的发件人加入白名单:

经测试发现,邮件标题带 test 关键字的会直接被 163 给拒收,所以尽量避免。
经过这些调试,基本都能成功发送成功。
这些是通过系统发送邮件的,发件人显示为系统用户,并不是真的电子邮箱地址,只能发邮件,无法收到邮件回复。
如果想像正常通过自己邮箱发出去邮件,并能收到邮件回复,则需更复杂的配置。
后续逐步更新教程。
收件人的邮件回复会被退回:


参考文章:linux mailx sendmail 发送邮件163网易邮箱能收到,QQ邮件收不到 http://phpsrc.com/os/linux/202112/155.html
linux 终端文本模式发送邮件 | mail 命令的用法 http://phpsrc.com/os/linux/202112/156.html
|