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

idi*_*dix 4 php email phpmailer

我在我的网站上使用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.';
}
Run Code Online (Sandbox Code Playgroud)

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

编辑

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

编辑 2

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

编辑 3

结果我在我的代码中错误地输入了 addAddress(我错误地放置了一个引号,这导致了 500 错误)。提供的答案成立。我没有正确添加收件人。

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

jsz*_*ody 5

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

$m->addAddress('email@email.com');
Run Code Online (Sandbox Code Playgroud)

看一下 PHPMailer 的例子:

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

  • 您更新的代码`$m->AddAddress = email@email.com` 不正确!再仔细看看我给你看的东西。 (2认同)