PHPmailer不工作的收件人

时间:2015-03-17 12:06:29

标签: php email phpmailer

我遇到了问题,我的代码位于下方,我收到此错误消息: 邮件无法发送.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代码本身。这是联系表格。当我将变量作为名称和电子邮件时,问题就出现了。如果未验证电子邮件,则无法使用。

1 个答案:

答案 0 :(得分:1)

此错误可能是由一些不同的事情引起的。您可以通过在PHPMailer脚本中添加以下行来更好地了解原因:

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

执行此操作后,您可以检查可能导致错误的以下内容:

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

2。)错误可能是由ISP提供的保护引起的。与他们核实。

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

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

5.。)在PHPMailer脚本中注释掉以下行:$ mail-&gt; isSMTP();

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

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