如何用PHP发送电子邮件

时间:2017-09-18 21:05:20

标签: php email

我遇到与SMTP connect() failed PHPmailer - PHP相同的问题。我的代码如下:

public function sendEmail($toAddress, $subject, $message)
{
    require 'PHPMailer-master/PHPMailerAutoload.php';
    $mail = new PHPMailer;
    $mail->isSMTP();
    $mail->Host = 'smtp.gmail.com';
    $mail->SMTPAuth = true;
    $mail->Username = 'username';
    $mail->Password = 'password';
    $mail->SMTPSecure = 'tls';
    $mail->SMTPDebug = 2;
    $mail->Port = 587;
    $mail->setFrom('support@tripmatcher.com', 'Tripmatcher Support');
    $mail->addAddress($toAddress);
    $mail->Subject = $subject;
    $mail->Body = $message;
    if (!$mail->send()) {
        error_log('Mailer Error: ' . $mail->ErrorInfo);
    } else {
        error_log('Email has been sent.');
    }
}

两个问题:

  1. 这里有什么问题,据我所知,我的代码看起来是正确的,我还为我的电子邮件地址启用了不太安全的应用程序?
  2. [Mon Sep 18 21:01:43.342766 2017] [:error] [pid 22052] [client 2.28.76.119:55132]邮件程序错误:SMTP connect()失败。 https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting,参考者:
  3. 这就是我在日志中看到的全部内容,如何生成更具描述性的错误消息?我试过看类似的问题,但我仍然无法弄清楚究竟是什么问题。

1 个答案:

答案 0 :(得分:0)

对我来说,注释掉isSMTP()行是有效的,但它仍然进入我的hotmail帐户的垃圾邮件文件夹。