首页 > 解决方案 > 如何在codeigniter中使用gmail smtp发送邮件

问题描述

我想通过网站从我的 Gmail 帐户发送电子邮件。我怎么做?我已经尝试了所有可能的方法,但无法获得所需的输出。

public  function mailuser(){
    $config = Array(protocol' => 'ssmtp','smtp_host' => 'ssl://ssmtp.gmail.com','smtp_port' => 465,'smtp_user' => 'xxxx@gmail.com','smtp_pass' => 'xxxx','mailtype'  => 'html');
    $this->load->library('email', $config);
    $this->email->set_newline("\r\n");
    $this->email->from('xxxx@gmail.com', 'Manoj');
    $this->email->to('xxxxx@gmail.com'); 
    $this->email->subject('Email Subject');
    $this->email->message('Email Message');

    if($this->email->send()){
        echo 'Success email Sent';
        echo $this->email->print_debugger();
    }
    else{
        echo 'Email Failed To Send';
        echo $this->email->print_debugger();
    }
}

标签: codeigniteremailsmtp

解决方案


我认为您在配置中使用了错误的参数,例如ssmtp

protocol' => 'ssmtp','smtp_host' => 'ssl://ssmtp.gmail.com'

您的配置数组应如下所示:

$config = Array(
    'protocol' => 'smtp',
    'smtp_host' => 'ssl://smtp.googlemail.com',
    'smtp_port' => 465,
    'smtp_user' => 'xxxx@gmail.com',
    'smtp_pass' => 'xxx',
    'mailtype'  => 'html', 
);

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

// Set to, from, message, etc.
$this->email->from('xxxx@gmail.com', 'Manoj');
$this->email->to('xxxxx@gmail.com'); 
$this->email->subject('Email Subject');
$this->email->message('Email Message');

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

还要验证以启用扩展extension=php_openssl.dllphp.ini如果不是请删除;


推荐阅读