CodeIgniter Ion_Auth ::忘记密码不起作用

时间:2011-03-18 10:38:39

标签: codeigniter

我在使用Ion_Auth忘记密码功能时遇到了一些问题。

我已经加载了库并调用了函数,传递了一个电子邮件地址(来自输入框)。

电子邮件模板存在于服务器上(与所有相关文件一样),该函数实际上返回TRUE,使用IF NOT语句进行测试。

但是,没有发送电子邮件。现在我知道CI邮件功能正常工作,因为我使用电子邮件库快速发送邮件,它发送邮件没有任何问题。

我测试了Ion_Auth库并发现它正在找到用户并使用模板生成电子邮件,并且在执行$ this-> ci-> email-> send()

那么,如果没有收到电子邮件,怎么会这样呢?

2 个答案:

答案 0 :(得分:6)

不要通过编辑任何Ion Auth文件来改变Ion Auth的默认行为......

根据配置电子邮件发送的CodeIgniter 2 documentation,执行以下操作...

1)创建一个名为application/config/email.php的文件,其中包含您的电子邮件设置as per the documentation

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
| EMAIL SENDING SETTINGS
| -------------------------------------------------------------------
*/

$config['protocol'] = 'sendmail';  // 'mail', 'sendmail', or 'smtp'
// other email options

/* End of file email.php */
/* Location: ./application/config/email.php */

2)在application/config/ion_auth.php文件中,将此值设置为TRUE

$config['use_ci_email'] = TRUE;

答案 1 :(得分:1)

您可以通过将发送电子邮件代码重写为本机PHP来更改默认的离子身份验证行为,也可以更改协议。转到forgotten_password(),在$this->ci->email->initialize($config); $config['protocol'] = OPTION;之前,您可以mail选项sendmailsmtp或{{1}}

http://codeigniter.com/user_guide/libraries/email.html

希望这有帮助