【问题标题】:PHPMailer: You must provide at least one recipient email addressPHPMailer:您必须提供至少一个收件人电子邮件地址
【发布时间】:2017-02-18 20:55:04
【问题描述】:

我在我的网站上使用PHPMailer,但它返回错误:

您必须提供至少一个收件人电子邮件地址。

服务器正在运行 PHP 7。我查看了以下页面以寻找答案:

这些都没有解决我的问题。

这是它的设置方式:

require_once 'lib/phpmailer/PHPMailerAutoload.php';

$m = new PHPMailer;

$m->isSMTP();
$m->SMTPAuth = true;
$m->SMTPDebug = 2;

$m->Host = 'smtp.zoho.com';
$m->Username = 'email@email.com';
$m->Password = 'password';
$m->SMTPSecure = 'ssl';
$m->Port = 465;

$m->From = 'email@email.com';
$m->FromName = 'Name';

$m->Subject = 'Testing PHPMailer';
$m->Body = 'Body of the email. Testing PHPMailer.';

if (!$m->send()) {
    echo 'Mailer Error: ' . $m->ErrorInfo;
} else {
    echo 'Everything OK.';
}

执行var_dump(PHPMailer::validateAddress('email@email.com')); 返回true。所以电子邮件地址似乎不是问题。

编辑

添加$m->AddAddress = email@email.com 并不能解决问题。它返回完全相同的错误。

编辑 2

已将 $m->addAddress('email@email.com') 添加到代码中。我一直在做错事。它现在返回 500 错误。

编辑 3

原来我在代码中输入了错误的 addAddress(我放错了引号,导致 500 错误)。提供的答案是有效的。我没有正确添加收件人。

很抱歉给您带来了困扰。我应该更仔细地查看提供的 PHPMailer 示例,而不是盲目地遵循第三方教程。

【问题讨论】:

  • 我没有看到您在任何地方设置收件人。收件人是接收消息的人,而不是发送消息的人。
  • 添加您的完整代码
  • @Carcigenicate 对不起,应该在问题中提到,添加收件人不会改变结果。还是一样的错误。
  • 那是...不是您添加收件人的方式。
  • @idix 那么$m->addAddress ??在你的代码中!!

标签: php email phpmailer


【解决方案1】:

您尚未添加收件人地址。你需要这样做:

$m->addAddress('email@email.com');

看看PHPMailer的例子:

https://github.com/PHPMailer/PHPMailer#a-simple-example

【讨论】:

  • 感谢您的及时回复。对不起,我应该在我的问题中提到。我已经试过了。仍然返回完全相同的错误。更新问题。
  • 您更新的代码$m->AddAddress = email@email.com 不正确!再仔细看看我给你看的东西。
  • @idix addAddress 是一种方法,而不是一个字段。
猜你喜欢
  • 1970-01-01
  • 2019-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-23
相关资源
最近更新 更多