Php Codeigniter抛出错误,不向用户发送确认邮件
我在codeigniter中创建了一个注册页面,一切正常,但当我单击“注册”时,它会将所有数据插入数据库,但它不会向邮件发送确认信,并给出一个错误: 遇到以下SMTP错误:99无法分配请求的 无法使用PHP SMTP发送电子邮件的地址。您的服务器可能不可用 配置为使用此方法发送邮件 日期:2017年6月23日星期五 16:15:55+0300从:“WTF”返回路径: 收件人:LUT_MILCEY@MAIL.RU主题: =?UTF-8?Q?验证=20YOUR=20EMAIL=20AD?==?UTF-8?Q?着装?=回复:用户代理:CODEIGNITER X-SENDER: 卢特。MILCEY@GMAIL.COMX-MAILER:CODEIGNITER X-PRIORITY:3(正常) MESSAGE-ID:MIME-VERSION:1.0 这是我的控制器:Php Codeigniter抛出错误,不向用户发送确认邮件,php,codeigniter,email,Php,Codeigniter,Email,我在codeigniter中创建了一个注册页面,一切正常,但当我单击“注册”时,它会将所有数据插入数据库,但它不会向邮件发送确认信,并给出一个错误: 遇到以下SMTP错误:99无法分配请求的 无法使用PHP SMTP发送电子邮件的地址。您的服务器可能不可用 配置为使用此方法发送邮件 日期:2017年6月23日星期五 16:15:55+0300从:“WTF”返回路径: 收件人:LUT_MILCEY@MAIL.RU主题: =?UTF-8?Q?验证=20YOUR=20EMAIL=20AD?==?UTF
<?php
class User extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->helper(array('form','url', 'security'));
$this->load->library(array('session', 'form_validation', 'email'));
$this->load->database();
$this->load->model('User_model');
}
function index()
{
$this->register();
}
function register()
{
//set validation rules
$this->form_validation->set_rules('username', 'Username', 'trim|required|alpha|min_length[3]|max_length[30]|is_unique[instructors.instructors_slug]xss_clean');
$this->form_validation->set_rules('mail', 'Email', 'trim|required|valid_email|is_unique[instructors.mail]');
$this->form_validation->set_rules('password', 'password', 'trim|required|md5');
$this->form_validation->set_rules('password2', 'Confirm Password', 'trim|required|md5|matches[password]');
$to_email= $this->input->post('mail');
$data['courses'] = $this->Popular_courses_model->get_popular_courses();
$data['news'] = $this->News_model->get_news();
//validate form input
if ($this->form_validation->run() == FALSE)
{
// fails
$this->load->view('templates/header');
$this->load->view('pages/index', $data);
$this->load->view('templates/footer');
}
else
{
//insert the user registration details into database
$data = array(
'instructors_slug' => $this->input->post('username'),
'mail' => $to_email,
'password' => $this->input->post('password')
);
// insert form data into database
if ($this->User_model->insertUser($data)) {
if ($this->User_model->sendEmail($to_email)) {
// successfully sent mail
$this->session->set_flashdata('msg','<div class="alert alert-success text-center">You are Successfully Registered! Please confirm the mail sent to your Email-ID!!!</div>');
redirect('user/register');
}
else
{
// error
$this->session->set_flashdata('msg','<div class="alert alert-danger text-center">'.$to_email.' gondermir '.$this->email->print_debugger().'</div>');
redirect('user/register');
}
}
else
{
// error
$this->session->set_flashdata('msg','<div class="alert alert-danger text-center">daxil elemir</div>');
redirect('user/register');
}
}
}
function verify($hash=NULL)
{
if ($this->User_model->verifyEmailID($hash))
{
$this->session->set_flashdata('verify_msg','<div class="alert alert-success text-center">Your Email Address is successfully verified! Please login to access your account!</div>');
redirect('user/register');
}
else
{
$this->session->set_flashdata('verify_msg','<div class="alert alert-danger text-center">Sorry! There is error verifying your Email Address!</div>');
redirect('user/register');
}
}
}
?>
尝试在用户模型中更改此代码
$config['protocol'] = 'smtp';
到
或者参考此尝试在您的用户模型中更改此代码
$config['protocol'] = 'smtp';
到
或者参考此我的直觉是,它无法绑定到发送邮件的端口。您应该创建一个WITHONLY,看看是否得到相同的结果。你也应该用操作系统更新你的问题,用版本更新web服务器。我的直觉是它无法绑定到发送邮件的端口。您应该创建一个WITHONLY,看看是否得到相同的结果。您还应该使用OS更新您的问题,并使用版本更新web服务器。
$config['protocol'] = 'mail';