我正在研究Codeigniter3。现在尝试通过smtp发送电子邮件,并且可以正常工作,但是我的主要问题是,它在页面上显示了发送电子邮件的响应(无论成功还是错误)。现在,我正在尝试查找是否在任何地方使用了print_debugger,但没有使用它。
但仍在页面上显示其电子邮件回复。真的很奇怪我正在使用以下代码作为参考。
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com',
'smtp_port' => '465',
'smtp_user' => 'your Gmail Email-ID',
'smtp_pass' => 'your Gmail Email-password',
'mailtype' => 'html',
'charset' => 'utf-8',
'crlf' => '\r\n',
'newline' => '\r\n',
);
$this->load->library('email', $config);
//$this->email->initialize($config);
$this->email->set_mailtype("html");
$this->email->set_newline("\r\n");
$this->email->from('internifi@support.com', 'Internifi');
$this->email->to('mayankbha@gmail.com');
$this->email->subject('Test Email Subject');
$this->email->message('Test Email Body');
//Send mail
if($this->email->send()) {
echo 'A verification link has been sent to your email account. Please click on the link and verify your account.';
} else {
echo 'Some problems occured, please try again.';
}
我们非常感谢您的帮助。如果有人可以为我指出正确的方向,或者可能是一些愚蠢的错误,但是我找不到它。
谢谢。
答案 0 :(得分:1)
使用电子邮件功能后,您可以将用户重定向到“登录”页面或所需的任何其他页面。
您可以使用$this->session->set_flashdata
存储成功或错误消息,并在重定向后将其显示在视图页面上。
//Send mail
if($this->email->send()) {
$this->session->set_flashdata('success','A verification link has been sent to your email account. Please click on the link and verify your account.');
redirect('user/login', 'refresh'); //For example. Please use your controller name.
} else {
$this->session->set_flashdata('error','There is an Error in sending email. Please contact Site Management.');
redirect('user/register', 'refresh'); //For example. Please use your controller name.
}
在视图中,您可以显示此flashdata消息。