如何在codeigniter中发送电子邮件时将html页面作为消息发送?

时间:2017-04-23 16:35:05

标签: php codeigniter

我想在codeigniter中发送电子邮件时发送一个html页面作为消息。

$this->email->set_mailtype("html");
$this->email->from('xyz@gmail.com', 'ABC');
$this->email->to($this->input->post('emailid'));            
$this->email->subject('New Subject');   

$message = //HERE I WANT TO INCLUDE A FILE TO END AS MESSAGE    

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

可能吗? 请帮忙......

3 个答案:

答案 0 :(得分:0)

您只需使用方法file_get_contents()

即可
utf8mb4

您也可以使用codeigniter way

$message = file_get_contents("/path/to/htmlfile");

答案 1 :(得分:0)

我在项目中使用的内容,我在common_helper中创建了一个名为 sendMail

的函数
function sendMail($subject, $mailContent, $mailTo, $mailFromId, $mailFromName)
{
    $CI =& get_instance();
    $CI->load->library('email');
    $config['charset'] = 'utf-8';
    $config['wordwrap'] = TRUE;
    $config['mailtype'] = 'html';
    $CI->email->clear(TRUE);
    $CI->email->initialize($config);
    $CI->email->from($mailFromId, $mailFromName);
    $CI->email->to($mailTo);
    $CI->email->subject($subject);
    $CI->email->message($mailContent);
    $CI->email->send();
}

您可以在控制器的任何位置调用此功能来发送邮件。关于电子邮件的HTML内容应该像上面提到的Agam Banga一样加载:

$mailContent = $this->load->view('email/template', $data, true);

这个varibale可以简单地调用,如

sendMail($subject, $mailContent, $mailTo, $mailFromId, $mailFromName);

在您的控制器中。

如果您遇到任何问题,请告诉我。

答案 2 :(得分:0)

这里是模型代码和使用电子邮件库发送邮件。并且自动加载库在您的配置文件夹中使用它 - >自动加载文件 $ autoload [' libraries'] = array(' email');

public function mail_send($ mdata){

Circle

}