![](/img/trans.png)
[英]PHP Mailer Error: Mailer Error - must provide at least one recipient email address
[英]Please provide at least one recipient email address:-Mailer error while using php mailer
我在我的网站上使用 PHPMailer,但它返回一个错误:
您必须提供至少一个收件人电子邮件地址。 我查看了以下页面寻找答案: https : //github.com/PHPMailer/PHPMailer/issues/441 https://github.com/PHPMailer/PHPMailer/issues/429
这些都没有解决我的问题。
这是它的设置方式:
<?php
$conn=mysqli_connect("localhost","sar","siarth2");
mysqli_select_db($conn,"test");
$Email=$_REQUEST["Email"];
$query=mysqli_query($conn,"select * from user where Email='$Email'");
$row=mysqli_fetch_array($query,MYSQLI_ASSOC);
require 'PHPMailer-master/PHPMailerAutoload.php';
$mail = new PHPMailer();
$mail->Host = "ssl://smtp.gmail.com";
$mail->SMTPAuth = TRUE;
$mail->Username = "sidban5679@gmail.com";
$mail->Password = "password";
$mail->Port =466;
$mail->From = "sidban5679@gmail.com";
$mail->FromName = "Sidharth";
$mail->AddAddress($row["Email"]);
$mail->isHTML(true);
$mail->Subject = "Password";
$mail->Body = "<i>this is your password:</i>".$row["Password"];
$mail->AltBody = "This is the plain text version of the email content";
if(!$mail->send())
{
echo "Mailer Error: " . $mail->ErrorInfo;
}
else
{
echo "Message has been sent successfully";
}
SQL 代码
插入user
( Password
, FirstName
, LastName
, Email
)值('friends34','Kaser','Baddal','banh5@gmail.com');
检查您的$Email
和$row['Email']
是否返回任何有效的电子邮件地址。 您可以使用硬编码的收件人尝试一次。
$mail->AddAddress('receipient@example.com');
我猜从你的代码来看, $Email
和$row['Email']
是相同的值。 所以如果$Email=$_REQUEST["Email"];
正在收到有效的电子邮件,您可以使用 -
$mail->AddAddress($Email);
除了错误的端口号、SQL 注入漏洞、纯文本密码之外,您使用的是过时版本的 PHPMailer,并且您的代码基于过时的示例,您没有对电子邮件地址进行任何错误检查. 尝试这个:
if (!$mail->addAddress($row['Email'])) {
exit(htmlspecialchars($row['Email']) . ' is not a valid email address.');
}
( htmlspecialchars()
是为了避免添加 XSS 漏洞以获得满分!)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.