【问题标题】:Using PHP to test that an SMTP server is working properly使用 PHP 测试 SMTP 服务器是否正常工作
【发布时间】:2016-08-03 16:45:21
【问题描述】:

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

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

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

  2. 检索该电子邮件

    大概在电子邮件中会有一个 ID,因此如果定期执行此操作,则发送的电子邮件可以连接到接收的电子邮件。

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

【问题讨论】:

  • 只要远程服务器支持imap,写起来就小菜一碟了。
  • 不知道为什么我得到了 -1。对于 PHP 来说,似乎总是有一堆代码示例。人们似乎有代码来确保他们的 SMTP 服务器正常运行。一个好的答案会帮助许多用户。
  • Joel 问题是您要求现有代码,在 S.O,我们帮助您编写代码。 “要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题对于 Stack Overflow 来说是无关紧要的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,请描述问题和已完成的工作到目前为止解决它。“

标签: php email smtp imap pop3


【解决方案1】:

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

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

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

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

如果您不想使用往返路线,请发送您的邮件并使用 POP/IMAP 从您发送邮件的帐户中读取它。这更容易做到。 -瑞克

【讨论】:

    猜你喜欢
    • 2013-04-16
    • 1970-01-01
    • 2011-02-21
    • 2014-06-18
    • 1970-01-01
    • 1970-01-01
    • 2014-02-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多