特定域名的某些邮件无法从我们的邮件服务器发送。我们使用 sendmail 作为邮件服务器。
可以在日志中看到休耕
Oct 21 13:24:59 mailser sendmail[5407]: r9L7st1a005405: to=<[email protected]>, delay=00:00:03, xdelay=00:00:03, mailer=esmtp, pri=120539, relay=mailgw.test.in. [164.X.X.19], dsn=2.0.0, stat=Sent (ok: Message 289953693 accepted)
对于其他域名(例如 yahoo、gmail 等),它运行良好。
但是如果我从同一台服务器使用 mailx 命令通过命令行发送邮件,那么该消息将会通过......
Oct 21 13:30:37 ssdgweb sendmail[5443]: r9L80RFI005440: to=<[email protected]>, ctladdr=<[email protected]> (502/502), delay=00:00:10, xdelay=00:00:10, mailer=esmtp, pri=120329, relay=mailgw.test.in. [164.X.X.19], dsn=2.0.0, stat=Sent (ok: Message 289955601 accepted)
请让我们知道问题是什么以及如何解决。
答案1
问题已解决。我们的应用程序生成的“发件人:”地址中使用的用户名不知何故在远程端丢失。更改用户名后,邮件即可发送。由于我们无法访问其他邮件服务器,因此无法找到确切的错误消息。
由于最初邮件是通过命令行发送的,我尝试使用我们应用程序使用的“发件人:”地址从命令行删除邮件。我们发现,如果我们使用应用程序生成的类似“发件人:”地址,邮件就不会被送达。这为我们解决问题提供了线索。