isMail和isSMTP有什么区别

时间:2016-08-19 00:36:04

标签: php email smtp phpmailer shared-hosting

我使用PHPMailer并且很难让bluehost上的isSMTP工作。我已经能够让isMail工作了,我想知道发送邮件有什么区别。此外,我似乎在尝试使用isSMTP时遇到HELO或身份验证错误,但bluehost说我的设置是正确的。我使用SSL和端口465。

1 个答案:

答案 0 :(得分:6)

isMailisSMTP是设置PHPMailer Mailer属性值的便捷​​方法。此属性确定PHPMailer在构建消息后如何发送消息。使用isMail,使用PHP" mail函数发送它。使用isSMTP,它使用PHPMailer附带的SMTP类作为SMTP客户端,直接与邮件服务器通信。

使用mail功能要求您在本地计算机上安装并运行邮件服务器 - 至少在历史上,特别是Windows的情况并非如此。通常使用邮件功能相当快,因为​​它不需要与远程主机通信,但是,它实际上充当了系统自身sendmail的前端,效率很低。 binary,它只是打开与localhost的同步SMTP连接。你也会得到更少的反馈 - mail函数会返回布尔值,所以如果它没有工作,很难说它失败的原因,你可能需要看一下在你的邮件服务器的日志中查找。

您可以使用SMTP路由发送到本地或远程邮件服务器,通常SMTP到localhost是最快的发送方式。因为PHPMailer使用自己的SMTP客户端来执行此操作,这意味着它可以查看整个SMTP会话,从而在事情不起作用时得到更好的反馈 - 您可以设置SMTPDebug = 2并查看整个会话。

有各种各样的问题可能出错,追查根本原因的最佳位置是阅读the PHPMailer troubleshooting guide