2011-10-18 80 views
1

我面臨的問題在電子郵件中的奇怪的感嘆號。爲此,我使用base64編碼測試了單獨的郵件功能。這工作正常。我像這樣設置標題。如何在CodeIgniter中使用base64編碼發送電子郵件?

$headers = "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n"; 
$headers .= "Content-Transfer-Encoding:base64" . "\r\n"; 
// More headers 
$headers .= 'From:'.$from. "\r\n"; 
$htmlcode = rtrim(chunk_split(base64_encode($msg))); 
$ret=mail($to,$subj,$htmlcode,$headers); 

現在我想在CodeIgniter中設置相同的頭部選項。我試着用配置中的選項。

$_configure['_encoding']="base64"; 
$email= new Email($config);  

但它不起作用。如何在CodeIgniter中設置如上所示的頭文件?

編輯:

目前只用笨電子郵件類。

+0

什麼是錯誤? – Mob

+0

@Mob我得到了編碼的郵件。但對於前一個,我收到了我輸入的郵件。 – svk

+1

爲什麼不使用CodeIgniter [電子郵件分類](http://codeigniter.com/user_guide/libraries/email.html)? – user973254

回答

0

你應該擴展電子郵件類來添加這個,這很容易做到。

當你這樣做時,添加一個公共函數到_set_header,因爲這會爲你生成電子郵件標題。

沒有測試,但是這樣的事情:

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class MY_Email extends CI_Email { 

    public function __construct() 
    { 
     parent::__construct(); 
    } 

    public function set_header($header, $value) { 
     parent::_set_header($header, $value); 
    } 
} 

那麼在你的電子郵件的代碼,東西的效果:

set_header( '_編碼', '的base64');

3
$config['_bit_depths'] = array('7bit', '8bit', 'base64'); 
$config['_encoding'] = 'base64'; 
相關問題