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

5

我在网站上使用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
1
请添加您的完整代码 - Abdulla Nilam
@Carcigenicate 抱歉,我在问题中应该提到,添加收件人不会改变结果。仍然是相同的错误。 - idix
那不是添加收件人的方法。 - jszobody
@AbdullaNilam 这是完整的代码。它只是用于测试目的。一旦页面加载完成,它应该发送一封电子邮件。 - idix
1
@Idix,你的代码中 $m->addAddress 在哪里? - Abdulla Nilam
1个回答

5

感谢您的及时回复。抱歉,在我的问题中我应该已经提到了。我已经尝试过了,但仍然返回相同的错误。正在更新问题。 - idix
2
你更新的代码 $m->AddAddress = email@email.com 是不正确的!请再仔细看一下我展示给你的内容。 - jszobody
@idix addAddress 是一个方法,而不是一个字段。 - Carcigenicate

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接