我知道我们可以使用不同主机上的smtp服务器从php发送电子邮件,或者是否安装了本地smtp服务器。我想知道的是,php可以在没有任何本地或远程smtp服务器的情况下发送电子邮件吗?我听说过sendmail程序,但它可以在服务器上没有安装任何邮件服务器的情况下运行吗?
答案 0 :(得分:2)
在某些时候,您必须与SMTP服务器通信。通过本地主机上的SMTP服务器发送是最干净的选择,最有可能成功通过垃圾邮件过滤器。
邮件服务器的功能非常复杂。让我们从您的电子邮件客户端到您的电子邮件服务器,以出站主机作为目的地,收取您的平均电子邮件:
队列中的下一个电子邮件服务器会重复上述操作,直到最终服务器收到电子邮件并位于收件人的邮箱中。
可以在PHP中执行此操作,但我不建议这样做。 MX记录查找可能很棘手,因为人们会做各种邮件服务器容忍的不合规事情。此外,尝试直接连接到目标SMTP服务器时,您的脚本可能会超时。某些服务器也配置为“灰名单”电子邮件,这意味着电子邮件最初将被拒绝但稍后会被接受(例如30分钟并不罕见)。平均PHP脚本将无法处理该场景。