我正在设置一个系统,当用户创建帐户时,会发送电子邮件,发送带有令牌的链接以验证其帐户并将状态从待处理更改为有效。
在创建用户功能中,当他们在签出所有其他条件后被发送到确认页面时 - 我正在我的模型中加载一个电子邮件验证功能,从数据库中提取某些信息并向他们发送电子邮件。我无法收到要发送的电子邮件,并且不确定变量是否能够以这种方式传递,尽管我已经回应了它们并且它们已经存在。
这是我的控制器部分:
$this->load->model('user_model');
if($query = $this->user_model->create_member())
{
$this->load->model('User_model');
$this->User_model->varification_email();
$data['main_content'] = 'account/welcome';
$this->load->view('includes/templates/main_page_template', $data);
}
和模型部分:
f
unction varification_email()
{
$query = $this->db->query('SELECT * FROM users order by id desc LIMIT 1');
foreach ($query->result() as $user)
{
$this->load->library('email');
$this->email->from('noreply@blah.org', 'noreply');
$this->email->to($user->email);
$this->email->subject('test');
$this->email->message('test');
$this->email->send();
}
}
提前感谢。
答案 0 :(得分:1)
只是为了确定 - 您是否正确运行并设置了SMTP邮件服务器?如果您在本地开发,则仍需要SMTP服务器来发送电子邮件。
对于开发,请使用Papercut等工具来测试电子邮件通信。