isMail和isSMTP有什么区别

DCR*_*DCR 2 php email smtp shared-hosting phpmailer

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

Syn*_*hro 6

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

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

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

有各种各样的问题可能出错,追查根本原因的最佳位置是阅读PHPMailer故障排除指南.