Codeigniter Tank Auth不发送激活电子邮件

时间:2014-12-22 12:45:59

标签: codeigniter email tankauth

我正在使用Tank Auth和codeigniter在注册时对用户进行电子邮件验证。注册后显示"注册成功。查看您的激活电子邮件。"但我没有收到任何激活电子邮件。

我在Application / config / email.php中使用的设置如下:

 $config['protocol'] = "smtp";
 $config['smtp_host'] = "ssl://smtp.googlemail.com";
 $config['smtp_port'] = "465";
 $config['smtp_user'] = "My Gmail";//also valid  Google Apps Accounts
 $config['smtp_pass'] = "My Password";
 $config['mailtype'] = 'html';
 $config['charset'] = 'utf-8';
 $config['newline'] = "\r\n";

TankAuth在Controller中使用的默认邮件功能:

function _send_email($type, $email, &$data)
    {
        $this->load->library('email');
        $this->email->from($this->config->item('webmaster_email', 'tank_auth'), $this->config->item('website_name', 'tank_auth'));
        $this->email->reply_to($this->config->item('webmaster_email', 'tank_auth'), $this->config->item('website_name', 'tank_auth'));
        $this->email->to($email);
        $this->email->subject(sprintf($this->lang->line('auth_subject_'.$type), $this->config->item('website_name', 'tank_auth')));
        $this->email->message($this->load->view('email/'.$type.'-html', $data, TRUE));
        $this->email->set_alt_message($this->load->view('email/'.$type.'-txt', $data, TRUE));
        $this->email->send();
    }

我还需要做其他事吗?因为我没有收到使用这些设置的任何激活电子邮件。

提前致谢。

1 个答案:

答案 0 :(得分:0)

尝试以下设置:

$config['protocol'] = 'smtp';
$config['charset'] = 'iso-8859-1';
$config['mailtype'] = 'html';

$config['smtp_host'] = 'ssl://smtp.gmail.com';
$config['smtp_port'] = '465';

$config['smtp_user'] = 'My Gmail';
$config['smtp_pass'] = 'My Password';

在发送邮件功能中,添加在'from'

之前设置新的行代码
$this->email->set_newline("\r\n");
$this->email->from($this->config->item('webmaster_email', 'tank_auth'), $this->config->item('website_name', 'tank_auth'));