使用 gmail smtp 服务器时我的电子邮件没有发送?

My email is not sent when use gmail smtp server?

我在我的网站上使用 gmail smtp 服务器在用户注册时发送电子邮件,但目前我无法发送电子邮件所有信息都是正确的。我该如何解决这个问题?我正在使用 php 邮件程序

function send()
    {
    $mail          = new PHPMailer();
    $mail->CharSet = 'UTF-8';
    $mail->IsSMTP();
    $mail->SMTPAuth = true;
    $mail->Host     = 'ssl://smtp.gmail.com';
    $mail->Port     = 465;
    $mail->Username = 'example@gmail.com';
    $mail->Password = 'mypassword';
    $mail->From     = 'noreply@example.com';
    $mail->FromName = 'example';
    $mail->AddAddress($this->_tpl_vars['TO']);
    if (isset($this->_tpl_vars['CC']))
        {
        $cc = explode(';', $this->_tpl_vars['CC']);
        foreach ($cc as $c)
            if (!empty($c))
                $mail->AddCC($c);
        }
    $mail->AddReplyTo('noreply@example.com');
    $i = array();
    $i = 3;
    $mail->IsHTML(true);
    $mail->Subject = $this->_tpl_vars['SUBJECT'];
    $mail->Body    = $this->_tpl;
    @$mail->Send();
    }

我在我的 gmail 帐户中看到一条消息,一位用户尝试使用我的 ip 服务器登录,gmail 阻止了它。

谢谢。

你可以去https://www.google.com/settings/security/lesssecureapps 并打开 "Access for less secure apps"

现在的正确方法:您可能需要检查 https://developers.google.com/gmail/xoauth2_libraries 以获得 PHP 示例,了解如何使用 Oauth2