Codeigniter在mamp上发送电子邮件

时间:2013-04-06 05:14:55

标签: codeigniter mamp

我正在使用codeigniter及其电子邮件类尝试在MAMP上发送电子邮件(免费版)

我的代码如下

  

$ config = Array(

        'protocol' => 'smtp',
        'smtp_host' => 'ssl://smtp.googlemail.com',
        'smtp_port' => 465,
        'smtp_user' => 'test@gmail.com.sg',
        'smtp_pass' => '*********',
        'mailtype'  => 'html',
        'starttls'  => true
    );

    $this->load->library('email', $config);
    $this->email->set_newline("\r\n");

    $this->email->from('test@gmail.com.sg', 'Jeffrey Way');
    $this->email->to('test_to@gmail.com.sg');     
    $this->email->subject('This is an email test');     
    $this->email->message('It is working. Great!');
    $this->email->send();   
    echo $this->email->print_debugger();

但是我总是收到错误

  

220 mx.google.com ESMTP ri1sm17015935pbc.16 - gsmtp你好:   250-mx.google.com为您服务,[203.116.128.34] 250-SIZE 35882577   250-8BITMIME 250-AUTH登录平台XOAUTH XOAUTH2 250   ENHANCEDSTATUSCODES

     

无法验证密码。错误:535-5.7.1   用户名和密码不被接受。在535 5.7.1了解更多信息   http://support.google.com/mail/bin/answer.py?answer=14257   ri1sm17015935pbc.16 - gsmtp from:530-5.5.1需要验证。   在530 5.5.1了解更多信息   http://support.google.com/mail/bin/answer.py?answer=14257   ri1sm17015935pbc.16 - gsmtp

     

遇到以下SMTP错误:   530-5.5.1需要验证。在530 5.5.1了解更多信息   http://support.google.com/mail/bin/answer.py?answer=14257   ri1sm17015935pbc.16 - gsmtp to:530-5.5.1需要验证。   在530 5.5.1了解更多信息   http://support.google.com/mail/bin/answer.py?answer=14257   ri1sm17015935pbc.16 - gsmtp

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

Authentication Required.

您使用的不是您自己的Gmail帐户(电子邮件和密码)

答案 1 :(得分:0)

我在很多地方都看过这个问题,当然,我在这里是因为我有同样的问题。我认为发生的事情是,当Jeffrey Way在2009年编写教程(Day 3,确切地说是我从中获取代码的地方)时,发送电子邮件的身份验证非常简单。我认为现在与谷歌有所不同。您必须使用oauth2身份验证流程。我已经设法为CodeIgniter找到了这样的代码,并且可以进行身份​​验证,但我仍然不太明白在身份验证后要做什么。我可能还没有努力,因为最近我一直在为Google,Yahoo,Facebook,Twitter和Flickr编写几个oAuth2身份验证脚本。我猜测,在您允许该应用访问您的Google信息后,回调页面就会显示您实际的sendmail代码(您在问题中的代码)。所以,我认为这是一个由两部分组成的过程:

  1. 使用oAuth2和
  2. 对Google进行身份验证
  3. 您的端点是发送电子邮件的回调页面(您的上述示例代码来自Way教程)。
  4. 你只想简单地发送一封电子邮件,我知道,我也是。但我想你可能想要复制和发送电子邮件。粘贴&试试这个工作脚本:

    Login with google account in codeigniter