我会说测试邮件服务器是否工作的唯一真正可靠的方法是实际发送电子邮件.
用于mail()将电子邮件发送到包含主题中唯一标识符的外部地址(即未托管在本地服务器上的外部地址).外部邮箱属于您,必须关闭垃圾邮件过滤
让PHP脚本轮询收件人邮箱以获取新邮件,例如使用Gordon在评论中提供的库之一
根据服务器的不同,可能需要5-10分钟的时间,因为可能会延迟交付(灰名单)
电子邮件成功到达后,报告成功
如果电子邮件未在您指定的时间范围内到达,则报告失败
如果你有一个发送者/收件人服务器关系,你知道立即提供电子邮件,你可能会在"等待5-10分钟"部分,并sleep()在检查邮箱前10-20秒.否则,如果您不能长时间运行PHP脚本,则可能必须设置一个cron作业,这会使事情变得复杂.
也就是说,对邮件服务器是否工作的一个更简单但更基本的测试是发送测试电子邮件mail(),并检查其返回值.如果它返回false,则您的邮件设置存在根本性的错误.尽管如此,有很多很多事情都不会false在这里回归,所以这并不是一个彻底的检查.