2012-06-28 113 views
2

我想用html表單向客戶發送電子郵件。無法在Codeigniter中發送HTML格式的電子郵件

這裏是控制器文件。

$email = '[email protected]'; 

$title = 'Introducing our new product!'; 

$msg = $this->load->view('admin/email_new_version', '', true); 

$config['mailtype'] = 'html'; 
$this->load->library('email', $config); 

$this->email->from('[email protected]', 'company'); 
$this->email->to($email); 

$this->email->subject($title); 
$this->email->message($msg);  

$this->email->send(); 

它看起來很好,但我收到郵件時html不起作用。

回答

2

嘗試使用此配置,並嘗試在單獨的命令初始化電子郵件庫:

$this->load->library('email'); 
$config['charset'] = 'utf-8'; 
$config['wordwrap'] = TRUE; 
$config['mailtype'] = 'html'; 
$this->email->initialize($config); 

這應該工作!

+0

它看起來不錯,但沒有工作;; – Jake

1

該代碼看起來不錯。當你說「收到郵件時html不起作用」時,你是什麼意思?你承載什麼樣的環境?

讓我們嘗試一些簡單的調試:

1)檢查是否正在加載的模板:

echo $this->load->view('admin/email_new_version', '', true); 
die(); 

2)Validate你的HTML。

3)嘗試在crlf,newlinecharset首選項中設置不同的值。

+0

我檢查,它工作得很好:) – Jake

0

我認爲主要關注的是您是否正在使用本地設置,如wamp/lamp或任何其他本地服務器安裝,在這裏您使用的是不在LAN外服務的端口使用常規adsl連接。

您需要託管您的項目在託管服務提供商或打開您的端口才能夠上網(後者不建議不採取安全防範措施,也沒有郵件服務器運行此應用程序不應該)爲的電子郵件 - >發送()函數正常工作

1
  1. 去系統/庫/ email.php
  2. 檢查$ mailtype vairable值
  3. 集$ mailtype = 'HTML'