使用gmail,codeigniter,wamp localhost发送邮件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用gmail,codeigniter,wamp localhost发送邮件相关的知识,希望对你有一定的参考价值。

我有问题使用wamp server发送电子邮件。我收到此错误:

220 smtp.gmail.com ESMTP s10sm40910411wjp.3 - gsmtp 
hello: 250-smtp.gmail.com at your service, [151.232.116.37]
250-SIZE 35882577
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
Failed to send AUTH LOGIN command. Error: 530 5.7.0 Must issue a STARTTLS command first. s10sm40910411wjp.3 - gsmtp 
Unable to send email using php SMTP. Your server might not be configured to send mail using this method.

这是codeigniter contoller

class SendEmail extends CI_Controller{
public function index(){

    $config=array();
    $config['protocol' ]   = 'smtp'                         ;
    $config['smtp_host']   = 'smtp.gmail.com'               ;
    $config['smtp_port']   = 465                            ;
    $config['smtp_user']   = 'test@gmail.com' ;
    $config['smtp_pass']   = 'pass'           ;
    $config['charset'  ]   = 'utf-8'                        ;
    $config['wordwrap' ]   = TRUE                           ;
    $config['validate']    = TRUE                           ;
    $config['_smtp_auth']  = TRUE                           ;
    $config['smtp_crypto'] = 'ssl'                          ;

    $this->load->library('email');
    $this->email->initialize($config);
    $this->email->from('mytest@gmail.com', 'test');
    $this->email->to('mytest@gmail.com');
    $this->email->subject("This is Another Email test  mail");
    $this->email->message("This is email is test for you mr me!the god is more than...");
    if($this->email->send()){
        echo 'You Are Luck!';
    }
    else{
        echo $this->email->print_debugger();
    }
}

现在我不知道问题是通过gmail或我的wamp localhost,这是配置wamp服务器php.inisendmail.ini(我下载 sendmail.zip文件并将其解压缩到wamp64 sendmail)。这是我的php.inisendmail.ini配置

php.ini file:
smtp_port = 465
sendmail_path = " "D:wamp64sendmailsendmail.exe" -t"

sendmail.ini file:
auth_username=test@gmail.com
auth_password=test
smtp_server= smtp.gmail.com
smtp_port= 465
答案

您可能忘记启用IMAP(也启用SMTP)访问您的Gmail帐户。

另一答案

Google可能会阻止某些不使用现代安全标准的应用或设备的登录尝试。

更改安全性较低的应用的帐户访问权限:https://www.google.com/settings/security/lesssecureapps

以上是关于使用gmail,codeigniter,wamp localhost发送邮件的主要内容,如果未能解决你的问题,请参考以下文章

在 wamp 服务器上使用 codeigniter 发送邮件时出错

wamp 服务器无法在 CodeIgniter 中导出 Phpexcel 文件

使用 Wamp 在 codeigniter 中发送电子邮件时出错

使用 Gmail 在 codeigniter 中通过电子邮件类发送电子邮件

使用 codeigniter 通过 gmail smtp 服务器发送电子邮件

Gmail API 是不是支持没有 SMTP 的 Codeigniter?