CodeIgniter将电子邮件放在全局函数中

时间:2013-03-22 20:17:36

标签: codeigniter email

我可以使用CodeIgniter文档中的示例从控制器内发送电子邮件。我想知道如何将电子邮件代码放在全局函数页面上,以便通过简单的函数调用访问它。

//在控制器中

emailTest($to, $subject, $message);

//在全局功能页面上

function emailTest($to, $subject, $message) {

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

    $this->email->from('my@example.com', 'My Name');
    $this->email->to($to); 
    $this->email->subject($subject);
    $this->email->message($message);    

    $this->email->send();
}

1 个答案:

答案 0 :(得分:4)

您可以创建helper并在需要时加载它。

$this->load->helper('email');
send_email($to, $subject, $message);

编辑:由于您想使用内置电子邮件功能,libraries将是更好的选择:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class MY_Library {

    public function __construct()
    {
        $this->CI =& get_instance();
    }

    public function send_email($to, $subject, $msg)
    {
        $this->CI->load->library('email');

        $this->CI->email->from('my@example.com', 'My Name');
        $this->CI->email->to($to); 
        $this->CI->email->subject($subject);
        $this->CI->email->message($message);    

        $this->CI->email->send();
    }

}

然后你可以这样称呼它:

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

$this->my_library->send_email('test@example.com', 'RE: test message','cool message');