3

我可以使用 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();
}
4

1 回答 1

4

您可以创建一个助手并在需要时将其加载。

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

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

<?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');
于 2013-03-22T20:31:23.430 回答