我在我的网站使用PHPMailer,但它返回一个错误:PHPMailer的:你必须提供至少一个收件人的电子邮件地址
您必须提供至少一个收件人的电子邮件地址。
服务器运行的是PHP 7.我已经签出了以下页面寻找答案:
- PHP Mailer You must provide at least one email address
- PHP Mailer Error: Mailer Error - must provide at least one recipient email address
- 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 protected]';
$m->Password = 'password';
$m->SMTPSecure = 'ssl';
$m->Port = 465;
$m->From = '[email protected]';
$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 protected]'));
回报true
。所以电子邮件地址似乎不是问题。
编辑
添加$m->AddAddress = [email protected]
不能解决问题。它返回完全相同的错误。
编辑2
有无加入间 - $> addAddress('[email protected]')的代码。我一直在做错。现在它返回一个500错误。
编辑3
原来我输入了错误的addAddress在我的代码(我忘记了报价,这造成了500错误)。提供的答案表示。我没有正确添加收件人。
我很抱歉让你烦恼这件事。我应该仔细看看提供的PHPMailer示例,而不是盲目地跟随第三部分教程。
我没有看到你在任何地方设置一个收件人。收件人是收到邮件的人,而不是发送邮件的人。 – Carcigenicate
添加您的完整代码 –
@Carcigenicate对不起,应该在问题中提到,添加收件人不会改变结果。还是一样的错误。 – idix