使用codeigniter发送邮件

时间:2012-05-28 11:08:18

标签: php email codeigniter

我想使用codeigniter发送邮件。我使用codeigniter作为邮件程序。我写了一个控制器并将其上传到网上。当我打电话给控制器。这显示错误。我正在编写我的控制器,如

<?php

class Testmail extends CI_Controller {

    public $data = array();

    public function __construct()
    {
        parent::__construct();
        $this->load->helper('url_helper');
        $this->load->helper(array('form', 'url'));
        $this->load->library('email');
        $this->load->helper('url'); 

    }

    public function mailsend()
    {
            $config['protocol'] = 'sendmail';
            $config['mailpath'] = '/usr/sbin/sendmail';
            $config['charset'] = 'iso-8859-1';
            $config['wordwrap'] = TRUE; 
            $this->email->initialize($config);

            $this->email->from('kunal.saxena.kunal@gmail.com', 'Your Name');
            $this->email->to('kunal.saxena.kunal@gmail.com'); 
            $this->email->subject('Email Test');
            $this->email->message('Testing the email class.');  

            $this->email->send();

            echo $this->email->print_debugger();


    }
}

但它不起作用,我得到了像

这样的错误
Exit status code: 127
Unable to open a socket to Sendmail. Please check settings.
Unable to send email using PHP Sendmail. Your server might not be configured to send mail using this method.
User-Agent: CodeIgniter
Date: Mon, 28 May 2012 10:51:18 +0000
From: "Your Name" 
Return-Path: 
To: kunal.saxena.kunal@gmail.com
Subject: =?iso-8859-1?Q?Email_Test?=
Reply-To: "kunal.saxena.kunal@gmail.com" 
X-Sender: kunal.saxena.kunal@gmail.com
X-Mailer: CodeIgniter
X-Priority: 3 (Normal)
Message-ID: <4fc358a653ad4@gmail.com>
Mime-Version: 1.0


Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

Testing the email class.

如何删除此错误..?

2 个答案:

答案 0 :(得分:0)

确保您的服务器具有sendmail并且设置正确。如果您没有它并且无法安装它,您可以使用谷歌SMTP服务器发送电子邮件,这是我在localhost上所做的。您可以找到如何执行此操作的示例here

PS。控制器看起来很好

答案 1 :(得分:0)

您需要在计算机上安装MTA(邮件传输代理)才能实际发送电子邮件,并且需要配置PHP以使用它来发送电子邮件。

如果您使用Linux或OS X作为开发环境,我强烈建议将msmtp作为一种易于配置的解决方案。很容易让它与几乎任何电子邮件帐户一起工作,并且让PHP与它交谈也很容易。我在我的Ubuntu开发机器上使用了一个CodeIgniter项目正好使用这个设置,它运行得非常好。 Arch Linux wiki上有a great tutorial that covers this,但大多数应该相对容易适应其他Linux发行版或OS X.