1

当用户注册到我的网站或在我的网站内执行某些活动时,我正在使用 codeigniter 电子邮件类发送电子邮件。

问题是,使用下面这个简单的代码,我只能发送非常简单的 HTML 电子邮件。而且我还必须将整个 HTML 消息传递给函数。有什么方法可以让我在函数本身中加载整个模板,然后传递一条消息,就像我们在带有视图的 codeigniter 中所做的那样,该消息将被放置在模板中。

$message = 'Thank you for your order \n';
$message .= 'We will contact you soon';
$this->email($message);

public function email($message = NULL){
    $this->load->library('email');

    $this->email->mailtype('html');
    $this->email->from('abbbba@gmail.com', 'Sohan Kc');
    $this->email->to('abbbbaa@gmail.com'); 

    $this->email->subject('Email Test');
    $this->email->message($message);    

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

2 回答 2

4

你为什么不按照你已经说过的去做?:) 电子邮件类消息方法需要传递一个字符串。只需加载一个视图并将返回的字符串传递给该方法。

public function email($message = NULL){
    $this->load->library('email');

    $mydata = array('message' => 'I am a message that will be passed to a view');
    $message = $this->load->view('my_email_template', $mydata, true);        

    $this->email->mailtype('html');
    $this->email->from('sohanmax2@gmail.com', 'Sohan Kc');
    $this->email->to('sohanmax02@gmail.com'); 

    $this->email->subject('Email Test');
    $this->email->message($message);    

    $this->email->send();
}
于 2013-05-15T06:48:03.237 回答
0

我发送电子邮件但将 html 代码作为正文,我必须添加标题以获得正确的内容,如下所示,它会起作用。

$this->email->set_header('MIME-Version', '1.0; charset=utf-8');

$this->email->set_header('Content-type', 'text/html');

于 2017-10-07T19:02:17.883 回答