在Php中正确配置SMTP Gmail

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Php中正确配置SMTP Gmail相关的知识,希望对你有一定的参考价值。

我需要连接SMTP,以便我可以从php发送电子邮件。我有的是这个:

$smtp = Mail::factory('smtp', array(
    'host' => 'ssl://smtp.gmail.com',
    'SMTPSecure' => 'tls',
    'port' => '587',
    'auth' => true,
    'username' => 'eee@domain.com',
    'password' => 'xxxx'
));
$subject = 'Nuevo correo';


$headers .= "MIME-Version: 1.0
";
$headers .= "Content-Type: text/html; charset=UTF-8
";
$headers .= 'From: domain <support@domain.com>'. "
" .

我有自己的域设置与Gmail。需要修复或错误的是什么?提前致谢。

答案

您需要在此link中包含邮件库,而不是使用TLS如果您的域名在G-Suite帐户中正确配置,则此代码不会出现任何问题。我已对其进行了测试,并且工作正常!

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

$from = '<fromaddress@domain.com>';
$to = '<toaddress@hotmail.com>';
$subject = 'Hi!';
$body = "Hi,

How 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' => 'johndoe@domain.com',
        '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中正确配置SMTP Gmail的主要内容,如果未能解决你的问题,请参考以下文章

使用 Gmail 的 PHP 邮件

在 Xampp 中将 Gmail 配置为 SMTP 以发送邮件 - 出现错误。为啥?

从PHP页面使用GMail SMTP服务器发送电子邮件

使用代码点火器和 gmail smtp 从本地主机上的 xampp 发送电子邮件

尝试使用 swift mailer、gmail smtp、php 发送邮件

如何在 php 中通过 gmail 使用 mail()