我在使用Ion_Auth忘记密码功能时遇到了一些问题。
我已经加载了库并调用了函数,传递了一个电子邮件地址(来自输入框)。
电子邮件模板存在于服务器上(与所有相关文件一样),该函数实际上返回TRUE,使用IF NOT语句进行测试。
但是,没有发送电子邮件。现在我知道CI邮件功能正常工作,因为我使用电子邮件库快速发送邮件,它发送邮件没有任何问题。
我测试了Ion_Auth库并发现它正在找到用户并使用模板生成电子邮件,并且在执行$ this-> ci-> email-> send()
那么,如果没有收到电子邮件,怎么会这样呢?
答案 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
选项sendmail
,smtp
或{{1}}
http://codeigniter.com/user_guide/libraries/email.html
希望这有帮助