php – 使用SMTP codeigniter发送电子邮件

我正在尝试使用smtp codeigniter发送电子邮件.我使用的代码如下:

public function notify_marketing(){
    $config = Array(
                    'protocol' => 'smtp',
                    'smtp_host' => 'ssl://smtp.googlemail.com',
                    'smtp_port' => 465,
                    'smtp_user' => 'myvalidemail@gmail.com', 
                    'smtp_pass' => '*******',//my valid email password
                    'mailtype' => 'html',
                    'charset' => 'iso-8859-1',
                    'wordwrap' => TRUE
                  );

    $this->email->initialize($config);
    $this->load->library('email', $config);
    $this->email->set_newline("\r\n");  
    $this->email->from('myvalidemail@gmail.com'); 
    $this->email->to('validreceiptent@gmail.com');
    $this->email->subject('My Subject');
    $this->email->message('Hello there');
    if($this->email->send())
    {
        $this->session->set_flashdata("success","Email sent.");
    }
     else
    {
        show_error($this->email->print_debugger());
    }
}

但是,我在响应中收到以下错误.我试过这个网站的其他解决方案,但没有用.

    <div id="exception_error">
    <h1><span class="type">An Error Was Encountered [ 500 ]</span></h1>
    <div class="content">
        <p><p>220 smtp.googlemail.com ESMTP bv4sm16669443pbb.86 - gsmtp
<br /><pre>hello: 250-smtp.googlemail.com at your service, [110.44.127.179]
250-SIZE 35882577
250-8BITMIME
250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN XOAUTH
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
</pre>lang:email_smtp_auth_pw<br />lang:email_send_failure_smtp<br /><pre>User-Agent: CodeIgniter
Date: Tue, 18 Aug 2015 12:03:42 +0545
From: <********@gmail.com>
Return-Path: <********@gmail.com>
To: *******@gmail.com
Subject: =?iso-8859-1?Q?My_Subject?=
Reply-To: "********@gmail.com" <*********@gmail.com>
X-Sender: *******@gmail.com
X-Mailer: CodeIgniter
X-Priority: 3 (normal)
Message-ID: <55d2ce42747f5@gmail.com>
Mime-Version: 1.0

先感谢您.

解决方法:

代码很完美.

您需要使用gmail的应用程序密码而不是gmail密码.请从Gmail设置中设置应用程序密码,并在此处输入密码.

它会完美地工作.查看HERE的更多内容

在gmail中设置应用密码的过程:

>访问您的App passwords page.系统可能会要求您登录Google帐户.
>在底部,单击选择应用程序,然后选择您正在使用的应用程序.
>单击选择设备,然后选择您正在使用的设备.
>选择生成.
>按照说明在设备上输入应用程序密码(黄色栏中的16个字符代码).
>选择完成.

完成后,您将不会再看到该应用程序密码.但是,您将看到您为其创建应用密码的应用和设备列表.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...