PHP邮件收件人不工作


PHPmailer not working recipient

我有一个问题,下面的代码显示了以下错误消息:无法发送消息。Mailer错误:SMTP错误:以下收件人失败:!被审查了!

我已经查看了主机、端口、用户名、密码、收件人,都是正确的,问题是什么?非常感谢。

你能解释一下吗,因为我是PHP编码的新手

 <?php
require 'PHPMailerAutoload.php';
$mail = new PHPMailer;
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['amne'];
$message = $_POST['message'];
//$mail->SMTPDebug = 3;                               // Enable verbose debug output
$mail->isSMTP();                                      // Set mailer to use SMTP
$mail->Host = '!Censored!';  // Specify main and backup SMTP servers
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = '!Censored!';                 // SMTP username
$mail->Password = '!Censored!';                           // SMTP password
$mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587;                                    // TCP port to connect to
$mail->From = $email;
$mail->FromName = $name;
$mail->addAddress('!Censored!');     // Add a recipient
$mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
$mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name
$mail->isHTML(true);                                  // Set email format to HTML
$mail->Subject = $subject;
$mail->Body    = $message;
$mail->AltBody = $message;
if(!$mail->send()) {
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Message has been sent';
}

编辑:我发现了问题,问题不在php代码本身。它在联系人表格中。当我把变量作为姓名和电子邮件时,问题就开始了。如果电子邮件未经验证,则它不起作用。

这个错误可能是由几种不同的原因引起的。您可以通过在PHPMailer脚本中添加以下行来更好地了解原因:

$mail->SMTPDebug = 2; //<-- For debugging

一旦你这样做,你可以检查以下可能导致错误的事情:

1.)一个损坏的class.phpmailer.php文件。

2.)错误可能是由您的ISP提供的保护造成的。与他们核实。

3.)收件人/发件人的电子邮件地址可能有问题。

4.)将PHPMailer类的SMTPAuth设置为true。

5.)注释掉PHPMailer脚本中的以下行:$mail->isSMTP();

大多数情况下,您的phpmailer类文件可能已损坏。

下载最新版本:https://github.com/PHPMailer/PHPMailer