修复从 PHP 通过 GMail SMTP 服务器发送电子邮件时的身份验证失败
尝试使用以下方式发送电子邮件时,您可能会遇到以下身份验证错误您的 PHP 脚本:
authentication failure [SMTP: SMTP server does no support authentication (code: 250, response: mx.google.com at your service, [98.117.99.235] SIZE 35651584 8BITMIME STARTTLS ENHANCEDSTATUSCODES PIPELINING)]
当指定的 SMTP 配置不正确或不完整时,通常会发生此错误。要解决此问题,请验证您的配置并将其调整为以下内容:
require_once "Mail.php"; $from = "Sandra Sender <[email protected]>"; $to = "Ramona Recipient <[email protected]>"; $subject = "Hi!"; $body = "Hi,\n\nHow are you?"; $host = "ssl://smtp.gmail.com"; $port = "465"; $username = "[email protected]"; $password = "testtest"; $headers = array ('From' => $from, 'To' => $to, 'Subject' => $subject); $smtp = Mail::factory('smtp', array ('host' => $host, 'port' => $port, 'auth' => true, 'username' => $username, 'password' => $password)); $mail = $smtp->send($to, $headers, $body); if (PEAR::isError($mail)) { echo("<p>" . $mail->getMessage() . "</p>"); } else { echo("<p>Message successfully sent!</p>"); }
通过在主机配置中指定 ssl://,您可以建立与 GMail SMTP 服务器的安全 SSL 连接。此外,您必须指定正确的 SSL 端口,即 465。
确保您的用户名和密码正确。这些应该是您的 GMail 凭据。
调整配置后,您的 PHP 脚本应该能够通过 GMail SMTP 服务器发送电子邮件,而不会遇到身份验证失败错误。
以上是为什么我的 PHP 电子邮件发送到 Gmail 时身份验证失败,如何修复?的详细内容。更多信息请关注PHP中文网其他相关文章!