首页 > 后端开发 > php教程 > 为什么我无法使用 PHPMailer 通过 Gmail 的 SMTP 服务器发送电子邮件?

为什么我无法使用 PHPMailer 通过 Gmail 的 SMTP 服务器发送电子邮件?

Patricia Arquette
发布: 2024-12-18 07:53:10
原创
712 人浏览过

Why Can't I Send Emails via Gmail's SMTP Server with PHPMailer?

无法使用 PHPMailer 通过 Gmail 的 SMTP 服务器发送电子邮件:解决 SMTP AUTH 问题

尝试利用 Gmail 的 SMTP 服务器使用 PHPMailer 传输电子邮件时PHPMailer,您可能会遇到错误“在端口 587 上提交消息需要 SMTP AUTH”。此错误表明发送电子邮件之前需要进行身份验证。以下是解决此问题的方法:

要纠正此问题,需要进行以下修改:

$mail = new PHPMailer(); // New PHPMailer object
$mail->IsSMTP(); // Enable SMTP protocol
$mail->SMTPDebug = 1; // For debugging (log errors and messages)
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->SMTPSecure = 'ssl'; // Utilize Secure Socket Layer (SSL) for secure transmission (required for Gmail)
$mail->Host = "smtp.gmail.com";
$mail->Port = 465; // Or 587 depending on server settings
$mail->IsHTML(true); // Allow HTML-formatted emails
$mail->Username = "johndoe@gmail.com"; // Your Gmail username
$mail->Password = "mysecretpassword"; // Your Gmail password
$mail->SetFrom("sender@gmail.com"); // Set sender address
$mail->Subject = "Test Email";
$mail->Body = "Hello from PHPMailer!";
$mail->AddAddress("recipient@gmail.com"); // Add recipient address

if (!$mail->Send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    echo "Email sent successfully!";
}
登录后复制

主要注意事项:

  • 确保您已为相关 Gmail 帐户禁用两步验证。
  • 验证您的SMTP 服务器支持 SSL 或 TLS 连接。
  • 如果问题仍然存在,请尝试将“SMTPSecure”设置调整为“tls”而不是“ssl”。

以上是为什么我无法使用 PHPMailer 通过 Gmail 的 SMTP 服务器发送电子邮件?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板