使用Gmail SMTP服务器发送邮件时,phpmailer会出现错误



我在自我修理模板/邮件函数中使用phpmailer:

<?php  
require_once(__DIR__.'/../../vendor/phpmailer/phpmailer/PHPMailerAutoload.php');
function sendTemplateMail($body, $data, $subject, $receiver, $sender){
$template = Timber::compile($body, $data);
sendMail($template, $subject, $receiver, $sender);
}  
function sendMail($template, $subject, $receiver, $sender){
$mail = new PHPMailer(true);                        // Enable verbose debug output
$mail->isSMTP();                                      // Set mailer to use SMTP     // TCP port to connect to
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->SMTPAuth = true;
$mail->Username = "**";
$mail->Password = "**";
$mail->setFrom($sender);
$mail->addAddress($receiver);     // Add a recipient
$mail->addReplyTo($sender);
$mail->isHTML(true);
$mail->Subject = $subject;
$mail->Body = $template;
$mail->AltBody = $template; //$mail->AltBody = $template; //
return $mail->send();
}

在我的项目中,用户名和密码是正确的,因为它们以前起作用。但是现在我发现SMTP未连接的错误。致命错误:未知的phpmailerexception:SMTP错误:无法连接到SMTP主机。

尝试一下,将句子添加到sendmail函数:

   $mail->SMTPOptions = array(
            'ssl' => array(
                'verify_peer' => false,
                'verify_peer_name' => false,
                'allow_self_signed' => true
            )
        );

您可以通过phpmailer 5.2.10中引入的smtpoptions属性允许不安全的连接(可以通过在较早版本中划分SMTP类来执行此操作),> ,尽管它不建议,因为它会失败很多完全使用安全运输的点。

这应该是临时解决方案。

最新更新