11

为什么?我可以在 PHP 中通过 mail() 发送,但我不能使用 IsSendmail() 通过 PHPMailer 发送

4

7 回答 7

20

我有同样的错误。通过评论/删除解决它:

$mail->IsSendmail();

现在它可以正常工作了。我可以发送邮件,并在我的收件箱中收到它们。

于 2012-11-08T00:01:37.080 回答
7

你确定路径/usr/sbin/sendmail正确吗?

如果是,请检查 sendmail 的权限是否设置正确。

于 2010-12-09T00:33:19.477 回答
2

我有同样的问题。花了将近一个小时检查日志,检查 sendmail 路径并从命令行测试 php mail() 和 sendmail,但无济于事。最后,我所做的就是使用 Apache 重新启动apachectl -k graceful,宇宙就被治愈了。

于 2012-11-19T16:22:44.180 回答
1

对我来说,它正在与$mail->IsSMTP(). IsSendmail()正在寻找发送邮件。

于 2014-02-04T15:31:34.400 回答
0

我同意上述集团。所有服务器上都启用了默认的 mail() 功能(我相信)。在我的情况下,我能够使用简单的 mail() 函数发送基本的 html,但是当我使用 PHPMailer 来执行此操作时,我遇到了该错误。

所以我删除了它检查的部分,即 IsSendMail(),一切都很好。现在抛出更多异常。

对于想要使用 SMTP 的人。首先在您的服务器上创建一个电子邮件帐户,然后在您的代码中定义其参数。

干杯,

塔尔哈

于 2013-07-15T04:48:17.290 回答
0

删除 IsSendmail() 只是为我创建了另一个错误,最后主机提供商不得不删除 PHP 设置上的安全模式。然后它起作用了

大卫·伯德斯编辑

不应在实时服务器上设置安全模式!例如在 Joomla 或其他 CMS 解决方案上运行的站点,除非在测试环境中,否则不应启用它

于 2013-12-23T13:21:16.023 回答
0

在共享服务器上启用的 PHP safe_mode(也可能在其他服务器上)将无法打开/usr/sbin/sendmail(PHPMailer 使用popen

于 2016-09-21T12:26:42.230 回答