无法使用codeigniter 3中的SMTP gmail配置发送电子邮件

时间:2016-07-17 04:31:10

标签: php codeigniter email smtp codeigniter-3

下面是我的代码,我在堆栈溢出和codeigniter用户指南中引用了所有示例。我仍然无法解决这个问题

public function send()
{
    $config['protocol'] = 'smtp';
    $config['smtp_crypto'] = 'ssl';
    $config['smtp_host'] = 'smtp.gmail.com';
    $config['smtp_port'] = '465';
    $config['smtp_user'] = '**********@gmail.com';
    $config['smtp_pass'] = '********';
    $config['mailtype'] = 'html';
    $config['charset'] = 'utf-8';
    $config['newline'] = "\r\n";
    $config['wordwrap'] = TRUE;
    $config['smtp_timeout'] = 30;
    $this->email->initialize($config);
    $this->email->from('uvizag@gmail.com', 'admin');
    $this->email->to('siddharthaesunuri@gmail.com, siddhu.php@gmail.com');
    $this->email->subject('Registration Verification:');
    $message = "Thanks for signing up! Your account has been created...!";
    $this->email->message($message);
    if ( ! $this->email->send()) {
        show_error($this->email->print_debugger());
    } 

}

enter image description here

enter image description here

如何解决此错误?可以取悦我了

3 个答案:

答案 0 :(得分:5)

你试试这个吗?

$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com',
'smtp_port' => 465,
'smtp_user' => 'xxx',
'smtp_pass' => 'xxx',
'mailtype'  => 'html', 
'charset'   => 'iso-8859-1'
);
$this->load->library('email', $config);
$this->email->set_newline("\r\n");

// Set to, from, message, etc.

$result = $this->email->send();

并确保您已设置电子邮件帐户 {{3}}

答案 1 :(得分:4)

QupnhNguyễn的回答也适用于我。但是,我认为值得指出的是,除非我放行

,否则我的代码会失败
$this->email->set_newline("\r\n");

如果没有该行,gmail就错误的用户/密码投诉:|

此致

答案 2 :(得分:-1)

我很难让这个原生CI功能发挥作用。我必须实现一个外部库:PHPMailer。检查this thread