【发布时间】:2017-03-08 18:12:27
【问题描述】:
使用codeigniterPHP 将数据插入数据库后发送电子邮件不起作用。数据插入成功,但MAIL 功能不起作用,因为www.hostname.com 页面不起作用。谁能帮忙我这个。提前谢谢。这是我的代码。
控制器:
class Blog extends CI_Controller
{
function __construct()
{
parent::__construct();
//here we will autoload the pagination library
$this->load->model('blogs_model');
$this->load->library('email');
}
function addcomments()
{
$this->load->library('form_validation');
$this->form_validation->set_error_delimiters('<br /><span class="error"> ','</span>');
$this->form_validation->set_rules('first_name','First Name' , 'required');
$this->form_validation->set_rules('email','Email');
$this->form_validation->set_rules('location','Location');
$this->form_validation->set_rules('description','Description');
if($this->form_validation->run()== FALSE)
{
$data['mainpage']='blogs';
$this->load->view('templates/template',$data);
}
else
{
//insert the user registration details into database
$data=array(
'blog_id'=>$this->input->post('bl_id'),
'first_name'=>$this->input->post('first_name'),
'email'=>$this->input->post('email'),
'description'=>$this->input->post('description'),
'location'=>$this->input->post('location')
);
// insert form data into database
if ($this->blogs_model -> insertcomments($data))
{
// send email
if ($this->blogs_model->send_mail($this->input->post('email')))
{
// successfully sent mail
$this->flash->success('msg','<div class="alert alert-success text-center">You are Successfully Registered! Please confirm the mail sent to your Email-ID!!!</div>');
redirect("blog");
}
else
{
// error
$this->flash->success('msg','<div class="alert alert-danger text-center">Oops! Error. Please try again later!!!</div>');
redirect("blog");
}
}
else
{
// error
$this->flash->success('msg','<div class="alert alert-danger text-center">Oops! Error. Please try again later!!!</div>');
redirect('blog');
}
}
}
}
型号:
function insertcomments($data)
{
return $this->db->insert('comments', $data);
//$this->db->insert('comments',$data);
//return $this->input->post('bl_id');
}
function sendEmail($to_email)
{
//configure email settings
$config=Array(
'protocol'=> 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com', //smtp host name
'smtp_port' => '465', //smtp port number
'smtp_user' => 'xxxx@gmail.com',
'smtp_pass' => '************', //$from_email password
'mailtype' =>'html',
'charset' => 'iso-8859-1',
'wordwrap' => TRUE
);
//send mail
$this->load->library('email',$config);
$this->email->from('xxxx@gmail.com', 'Admin');
$this->email->to('yyy@gmail.com');
$this->email->subject('Comments');
$this->email->message('Testing');
$this->email->set_newline("\r\n");
return $this->email->send();
}
【问题讨论】:
-
试试这个:
if($this->email->send()) { echo "sent"; } else { echo $this->email->print_debugger(); }将帮助你找到错误 -
@devpro 得到与 www.developer.domain.com 页面不工作相同的错误 www.developer.domain.com 当前无法处理此请求。 HTTP 错误 500
-
我认为这是方法名称问题,您使用了错误的方法。
标签: php mysql codeigniter email