PHPMailer无法通过组织使用的gmail SMTP服务发送电子邮件

时间:2017-03-25 17:04:56

标签: php email phpmailer

我正在尝试从平台发送电子邮件,以便每次成功注册。我使用的是PHPMailer,这是我的代码:

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->CharSet = 'UTF-8';

$mail->Host       = "smtp.gmail.com";
$mail->SMTPDebug  = 0;
$mail->SMTPAuth   = true;
$mail->Port       = 25;
$mail->Username   = "<gmail login id>";
$mail->Password   = "<something>";

$mail->setFrom('<subdomain>.<organisation domain>', '<org name>');
$mail->addAddress($email);
$mail->Subject  = 'First PHPMailer Message';
$mail->Body = 'Hi! This is Test Message.';
if (!$mail->send()) {
        echo "Mailer Error: " . $mail->ErrorInfo;
} else {
        echo "Message sent!";
}

该组织将Gmail服务用于电子邮件。

从上面的代码中,我收到以下错误:

  

邮件程序错误:SMTP连接()失败。 https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

这是我第一次与PHPMailer打交道,所以请帮我看看我的错误,我已经尝试了谷歌和SO的几个解决方案..但似乎没有工作

谢谢大家:)

3 个答案:

答案 0 :(得分:0)

尝试在允许访问安全性较低的应用

中将您的电子邮件帐户更改为“是” 看看这个 https://help.crucial.com.au/hc/en-gb/articles/214180837-Enabling-Less-Secure-Apps

答案 1 :(得分:0)

Gmail smtp settings reference

$mail->setFrom('from@example.com', 'Mailer');
$mail->SMTPSecure = 'tls';
$mail->Port = 587;   

答案 2 :(得分:0)

关于https://support.google.com/a/answer/176600 端口25仅在aspmx.l.google.com上打开 您应该使用端口587(TLS)或465(SSL)。