我在我的网站上使用PHPMailer,但它返回一个错误:
您必须提供至少一个收件人电子邮件地址。
服务器正在运行PHP 7。为了寻找答案,我查看了以下页面:
- 您必须提供至少一个电子邮件地址
- PHP Mailer Error: Mailer Error -必须提供至少一个收件人电子邮件地址
- https://github.com/PHPMailer/PHPMailer/issues/441
- https://github.com/PHPMailer/PHPMailer/issues/429
这些都不能解决我的问题。
是这样设置的:
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示例,而不是盲目地遵循教程的第三部分。您没有添加收件人地址。您需要这样做:
$m->addAddress('email@email.com');
看一下PHPMailer的例子:
https://github.com/PHPMailer/PHPMailer一个简单的示例