PHPmailer - GMail smtp连接错误

时间:2017-05-16 11:06:41

标签: smtp gmail phpmailer

我改变了"启用google mail"的安全性较低的应用程序选项,我仍然从我的Gmail应用程序中收到此错误。

require 'inc/PHPMailerAutoload.php';
$mail = new PHPMailer;

$mail = new PHPMailer;

$mail->IsSMTP();                                      // Set mailer to use SMTP
$mail->Host = 'smtp.gmail.com';                 // Specify main and backup server
$mail->Port = 587;                                    // Set the SMTP port
$mail->SMTPAuth = true;                               // Enable SMTP authentication

$mail->Username = '*al********@gmail.com';                // SMTP username
$mail->Password = '****at****';                  // SMTP password
$mail->SMTPSecure = 'tls'; 

$mail->From = '*al********@gmail.com';
$mail->FromName = '******i';
$mail->AddAddress('andaeiii@aol.com', 'Ande C.');  // Add a recipient

$mail->IsHTML(true);                                  // Set email format to HTML

$mail->Subject = 'Here is the subject';
$mail->Body    = 'This is the HTML message body <strong>in bold!</strong>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

if(!$mail->Send()) {
   echo 'Message could not be sent.';
   echo 'Mailer Error: ' . $mail->ErrorInfo;
   exit;
}

echo 'Message has been sent';

当我运行代码时,它给了我这个错误...... &#34;邮件无法发送.Mailer错误:SMTP连接()失败。 https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting&#34; - 我做得不对......有没有更好的方法,或者我可以参与的任何优选的SMTP服务器......我需要建议。

感谢。

1 个答案:

答案 0 :(得分:0)

require "vendor/autoload.php";

//This solution is for version 6.0.3 of PHPMailer

  use PHPMailer\PHPMailer\PHPMailer;
  use PHPMailer\PHPMailer\Exception;

  $mailer = new PHPMailer(true);

  try {
    $mailer->isSMTP();

$mailer->SMTPOptions = [
  'ssl'=> [
      'verify_peer' => false,
      'verify_peer_name' => false,
      'allow_self_signed' => true
  ]
];

$mailer->Host = 'smtp.gmail.com';
$mailer->SMTPAuth = true;
$mailer->Username = 'mail@gmail.com';
$mailer->Password = '1234567';
$mailer->SMTPSecure = 'tls';
$mailer->Port = 587;

$mailer->CharSet = 'UTF-8';
$mailer->setFrom('mail@gmail.com');
$mailer->addAddress('example@gmail.com', 'Andres Guzmán');

$mailer->isHTML(true);
$mailer->Subject = 'Subject';
$mailer->Body = '<b>Body <b>GRACIAS!</b>';

$mailer->send();
$mailer->ClearAllRecipients();
echo "Mensaje enviado";

  } catch (Exception $e) {
      echo "Falla en el envío del mensaje. INFO: " . $mailer->ErrorInfo;
  }