Unable to send email using SMTP gmail config in co

2019-05-03 22:03发布

问题:

Below are my code and I refer all examples in stack overflow and codeigniter user guide. still I unable to solve this

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());
    } 

}

How Can I solve this error ? could please favor to me

回答1:

Are you try this?

$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();

And make sure you had setting your email account with Allowing less secure apps to access your account



回答2:

Quỳnh Nguyễn's answer worked for me too. However I think it's worth pointing out that my code fails unless I put the line

$this->email->set_newline("\r\n");

Without that line, gmail complaints about wrong user/password :|

Regards



回答3:

I had difficulties making this native CI feature to work. I had to implement an external library: PHPMailer. Check this thread.