使用PHP测试SMTP服务器是否正常工作


Using PHP to test that an SMTP server is working properly

我看到过使用PHP向SMTP服务器发送电子邮件的代码,但这并不意味着电子邮件发送正常。

我想知道你们是否都遇到过SMTP服务器的端到端测试,它会:

  1. 从SMTP向另一个服务器发送测试电子邮件

  2. 重新接收该电子邮件

    据推测,电子邮件中会有一个ID,因此如果定期这样做,发送的电子邮件可以连接到接收的电子邮件。

显然,这实际上是在测试两台服务器的正常运行时间以及这两台服务器之间的inet连接,除非SMTP服务器向自己发送了电子邮件。

我这样做的方法是在远程SMTP服务器上配置一个帐户以自动回复邮件。在主题行中输入一个唯一的值,这样您就可以识别返回的消息(如时间戳)并发送消息。

使用脚本从回复进入的本地服务器上的邮箱POP邮件,并读取唯一值(或者使用IMAP读取邮件;两者都可以)。

如果使用时间戳,那么很容易测量往返所用的时间。

如果ping消息丢失或无法在合理的时间内返回,您需要一种机制来重新生成它。

如果你不想走往返路线,那么发送你的邮件,并使用POP/IMAP从你发送邮件的帐户中读取。这更容易做到。-Rick