CI使用SMTP发送邮件

时间:2016-12-08 04:09:16

标签: php codeigniter email

我会直截了当地说到这一点。 我正在尝试使用codeigniter库发送邮件。 但是,我没有收到任何电子邮件,我的代码上没有显示错误。 我不知道为什么它不起作用。

我也关注了2 step verificationallow access to less secure apps

但是,当我省略配置时,它会向我发送一封直接发送到垃圾邮件部分的电子邮件。我不知道为什么会转到垃圾邮件部分。

这是我的代码:

public function sending_email(){

    // The mail sending protocol.
    $config['protocol'] = 'smtp';
    // SMTP Server Address for Gmail.
    $config['smtp_host'] = 'ssl://smtp.googlemail.com';
    // SMTP Port - the port that you is required
    $config['smtp_port'] = '465';
    // SMTP Username like. (abc@gmail.com)
    $config['smtp_user'] = 'sample@gmail.com';
    // SMTP Password like (abc***##)
    $config['smtp_pass'] = '****';
    // Load email library and passing configured values to email library
    $this->load->library('email', $config);
    // Sender email address
    $this->email->from('sample@gmail.com', 'sample');
    // Receiver email address.for single email
    $this->email->to('receiver@gmail.com');
    //send multiple email
    //$this->email->to(abc@gmail.com,xyz@gmail.com,jkl@gmail.com);
    // Subject of email
    $this->email->subject('test');
    // Message in email
    $this->email->message('hello world!');
    // It returns boolean TRUE or FALSE based on success or failure
    echo $this->email->send(); 

}

1 个答案:

答案 0 :(得分:1)

如果评论链接的答案无效,您也可以尝试使用此代码。

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