首页 > 后端开发 > php教程 > 为什么我的 PHP 代码中会出现 Gmail SMTP 身份验证失败的情况?

为什么我的 PHP 代码中会出现 Gmail SMTP 身份验证失败的情况?

Linda Hamilton
发布: 2024-12-31 19:09:09
原创
262 人浏览过

Why Am I Getting Gmail SMTP Authentication Failures in My PHP Code?

无法通过 GMail SMTP 服务器发送电子邮件:身份验证失败

尝试从 PHP 页面通过 GMail 的 SMTP 服务器发送电子邮件通常会导致身份验证失败错误,让用户感到沮丧。提供的 PHP 代码特别容易受到此问题的影响,因为它似乎缺乏必要的配置设置。

要解决此问题,正确的 PHP 配置至关重要。该代码应包含以下参数:

  • SSL 加密: Gmail SMTP 需要安全连接,因此“host”参数应设置为“ssl://smtp”。 gmail.com'。这将启用 SSL 加密,确保安全的数据传输。
  • 端口配置: 'port' 参数应设置为 '465',因为它是 SMTP over SSL 的指定端口。
  • 更新了 PHP 邮件库: 确保您使用的是最新版本的 PHP 邮件库 (PEAR Mail),以受益于其增强的功能和错误修复。

这里是更新的 PHP 代码,通过合并这些基本设置解决了身份验证失败问题:

// Pear Mail Library
require_once "Mail.php";

$from = '<[email&#160;protected]>';
$to = '<[email&#160;protected]>';
$subject = 'Hi!';
$body = "Hi,\n\nHow are you?";

$headers = array(
    'From' => $from,
    'To' => $to,
    'Subject' => $subject
);

$smtp = Mail::factory('smtp', array(
        'host' => 'ssl://smtp.gmail.com',
        'port' => '465',
        'auth' => true,
        'username' => '[email&#160;protected]',
        'password' => 'passwordxxx'
    ));

$mail = $smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {
    echo('<p>' . $mail->getMessage() . '</p>');
} else {
    echo('<p>Message successfully sent!</p>');
}
?>
登录后复制

通过实施这些修改,您的 PHP 脚本应该现在能够通过 GMail 的 SMTP 服务器发送电子邮件,而不会遇到身份验证失败。

以上是为什么我的 PHP 代码中会出现 Gmail SMTP 身份验证失败的情况?的详细内容。更多信息请关注PHP中文网其他相关文章!

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