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 に答える