以下发件人地址未通过连接调用Mail()失败

时间:2016-04-12 06:22:18

标签: php email smtp phpmailer

大家好我得到这个错误:

  

以下发件人地址失败:username_from@gmail.com:未连接称为Mail()

<?php
require("PHPMailer/class.phpmailer.php");

$msg = 'hello world!';

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->Port = 465;
$mail->SMTPAuth = true;
$mail->Username = 'username@gmail.com';
$mail->Password = 'password';
$mail->SMTPSecure = 'ssl';
$mail->From = 'username_from@gmail.com';
$mail->FromName = 'My name';
$mail->AddAddress('other_user@gmail.com', '');
$mail->WordWrap = 50;
$mail->IsHTML(true);
$mail->Subject = 'hello';
$mail->Body = $msg;

if(!$mail->Send()){
    echo "Mailer Error: " . $mail->ErrorInfo;
}
else{
    echo "Message has been sent";
}
?>

我该如何解决?谢谢!我使用Gmail邮件服务器从PHP运行XAMPP的localhost发送电子邮件。

1 个答案:

答案 0 :(得分:4)

错误的可能原因

  • 您必须编辑您的Gmail帐户权限。尝试为不太安全的应用启用“访问权限”#39;安全设置。

  • 可能是,您正在使用旧版本的PHPMailer - 更新它。

  • 不要将ssl / 465用于gmail;使用tls / 587。查看PHPMailer提供的gmail example code

  • 如果您只是添加一个地址,则无需拨打电话。
  • 尝试将主机设置为smtp.gmail.com
  • 您可以添加$ mail-&gt; SMTPDebug = 1; //调试:1 =错误和消息,2 =仅消息,以便您可以看到一些调试语句?