为什么呢? 我可以用PHP发送邮件()但是我无法使用IsSendmail()
通过PHPMailer发送答案 0 :(得分:17)
我遇到了同样的错误。通过评论/删除此解决了这个问题:
$mail->IsSendmail();
现在它正常工作。我可以发送邮件,然后在收件箱中收到邮件。
答案 1 :(得分:7)
您确定路径/usr/sbin/sendmail
是否正确?
如果是,请检查sendmail的权限是否设置正确。
答案 2 :(得分:1)
我有同样的问题。花了将近一个小时检查日志,检查sendmail路径并从命令行测试php mail()和sendmail无济于事。最后我所做的就是使用apachectl -k graceful
重新启动Apache,宇宙得到了治愈。
答案 3 :(得分:1)
对我而言,它与$mail->IsSMTP()
合作。
IsSendmail()
正在寻找sendmail。
答案 4 :(得分:0)
我同意上面的集团。所有服务器都启用了默认的mail()函数(我相信)。在我的情况下,我能够使用简单的mail()函数发送基本的html,但是当我使用PHPMailer这样做时,我遇到了这个错误。
所以我删除了它检查的部分,即IsSendMail(),一切都很好。现在抛出更多例外。
对于想要使用SMTP的用户。首先在服务器上创建一个电子邮件帐户,然后在代码中定义其参数。
干杯,
<强>塔尔哈强>
答案 5 :(得分:0)
删除IsSendmail()只是为我创建了另一个错误,最后主机提供程序必须删除PHP设置上的safemode。然后它工作了
David Burdess编辑
不应在实时服务器上设置SafeMode!例如,在Joomla或其他CMS解决方案上运行的站点除了在测试环境中之外不应该启用它
答案 6 :(得分:0)
在共享服务器上启用safe_mode
的PHP(也可能在其他服务器上启用)将无法打开/usr/sbin/sendmail
(PHPMailer使用popen
)