php codeigniter - 为什么我的代码不发送简单的邮件?

时间:2015-06-14 02:23:53

标签: php codeigniter email

我在我的项目中使用了codeigniter,所以我尝试做的是使用mail()php函数发送简单的电子邮件,但没有任何事情发生:

这是我的控制器(这里我称之为查看电子邮件):

public function index()
    {   
        $this->load->helper('url');
        $this->load->view('email'); 
    }

视图电子邮件包含:

<form action="<?php echo base_url() ?>email/blog_edit2" method="post" accept-charset="utf-8" enctype="multipart/form-data" >
    <input type="submit" value="create">
</form>

我将blog_edit2称为控制器,用于发送电子邮件。

和控制器blog_edit2的代码:

public function blog_edit2()
    {

        $this->load->helper('url');

        $to = "example@gmail.com";
        $subject = "My subject";
        $txt = "Hello world!";
        $headers = "From: webmaster@example.com" . "\r\n" .
        "CC: somebodyelse@example.com";

        mail($to,$subject,$txt,$headers);

        $this->load->view("email");

    }

我在localhost和一个真正的主机(免费主机)中测试了它,但没有任何反应,我做错了什么?我需要配置什么?感谢

EDIT1: 控制器blog_edit2(使用codeigniter电子邮件库):

public function blog_edit2()
    {

        $this->load->helper('url');     

        $config = Array(
    'protocol' => 'smtp',
    'smtp_host' => 'ssl://smtp.googlemail.com',
    'smtp_port' => 465,
    'smtp_user' => 'example@gmail.com',
    'smtp_pass' => 'mypass',
    'mailtype'  => 'html', 
    'charset'   => 'iso-8859-1'
    );
    $this->load->library('email', $config);
    $this->email->set_newline("\r\n");


        $this->email->from('other@gmail.com', 'myname');
        $this->email->to('other@gmail.com'); 

        $this->email->subject('Email Test');
        $this->email->message('Testing the email class.');  



    $result = $this->email->send();     

    $this->load->view("email");

    }

0 个答案:

没有答案