Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CodeIgniter PHP邮件函数不工作_Php_Codeigniter - Fatal编程技术网

CodeIgniter PHP邮件函数不工作

CodeIgniter PHP邮件函数不工作,php,codeigniter,Php,Codeigniter,我有一个脚本,可以从联系人页面向自己发送电子邮件: if($_POST["submit"] == "Send Message") { $to = "myemail@mm.com"; $subject = "Message received from Contact Us"; $message = "Email: ".$_POST["email"]."<br>"; $message .= "Name: ".$_POST["name"]."<br&g

我有一个脚本,可以从联系人页面向自己发送电子邮件:

if($_POST["submit"] == "Send Message")
{
    $to = "myemail@mm.com";
    $subject = "Message received from Contact Us";
    $message = "Email: ".$_POST["email"]."<br>";
    $message .= "Name: ".$_POST["name"]."<br>";
    $message .= "Message: ".$_POST["message"]."<br>";
    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    echo mail($to,$subject,$message,$headers);
    $messageSent = TRUE;
}
if($\u POST[“提交”]=“发送消息”)
{
$to=”myemail@mm.com";
$subject=“收到联系我们的信息”;
$message=“Email:”..$\u POST[“Email”]。“
”; $message.=“Name:”$\u POST[“Name”]。“
”; $message.=“message:”$\u POST[“message”]。“
”; $headers='MIME版本:1.0'。“\r\n”; $headers.=“内容类型:text/html;字符集=iso-8859-1”。“\r\n”; 回送邮件($to、$subject、$message、$headers); $messageSent=TRUE; }
它实际上与1相呼应。但我的电子邮件帐户(gmail)中没有收到任何电子邮件。我正在使用Codeigniter,我看到有一个电子邮件库,但这应该可以工作,不是吗

我有一些其他类似的表单,如果我已经有了普通的PHP,我真的不想集成这个库


我知道我的服务器能够发送电子邮件,因为我以前做过,我觉得这与codeigniter有关。如果没有其他选项,我想我可以使用库并更改代码。任何关于这方面的建议都会有帮助!谢谢:)

Codeigniter不能为您的问题负责,因为mail()是一个php函数,除非在包含php源文件之前进行一些奇特的字符串预处理,否则无法覆盖它。

它与CI无关,因为您没有使用任何CI功能

有什么原因你不使用电子邮件助手吗

在CI中:

$this->load->library('form_validation');

$this->form_validation->set_rules('name', 'Name', 'trim|required');
$this->form_validation->set_rules('email', 'Email', 'trim|required|valid_email');
$this->form_validation->set_rules('message', 'Message', 'required');

if($this->form_validation->run() == FALSE)
{
    $this->load->view('contact-form');
}
else
{
    $this->load->library('email');

    $name = $this->input->post('name');
    $email = $this->input->post('email');
   $message= $this->input->post('message');

    $this->email->from($email, $name);
    $this->email->to('you@domain.com');

    $this->email->subject('Subject');
    $this->email->message($message);
    if($this->email->send())
    {
        echo $this->email->print_debugger();
        //redirect('contact-us/thanks', 'location');
    }
   else
   {
    echo 'Something went wrong...';
   }

}
还要注意,邮件返回true/false取决于php是否能够发送它。无法判断是否收到过该消息


在CI中尝试-查看结果是否有任何差异

尝试只做
\n
而不是
\r\n
。我相信PHP会被这一点弄糊涂。这是一个很好的观点——尽管从快速的google判断这似乎是一个老问题,但不能说我自己也曾经历过这种情况,尽管我认为var_dump(mail($to,$subject,$message,$headers));如果它说是真的,那么邮件会将你的电子邮件发送到发送服务器,问题要么出现在你的邮件头上,要么出现在谷歌邮箱上。顺便问一句,你会对没有直接给你支持和完整解决方案的每一个答案投反对票吗?:)我问了一个问题,我想得到一个答案我同意皮特的观点。您的回答只是一个注释,因此应该是对问题的回答。感谢您的时间,我将尝试此方法。您还需要表单验证帮助程序,我在原始代码中省略了此内容。请参阅已编辑的版本不要使用CI帮助器,请参阅: