繁体   English   中英

请至少提供一个收件人电子邮件地址:-Mailer error while using php mailer

[英]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 代码

插入userPasswordFirstNameLastNameEmail )值('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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM