2013-10-18 49 views
1

我使用PHPMailer API發送電子郵件。我想知道我怎麼能發送阿拉伯文主題(非英語)語言PHPMailer:使用阿拉伯語(非英文)字符的主題名稱

$mail->CharSet = 'utf-8'; 
$array= FetchTable('cos'); 
$subject = $_POST['subject']; 
$body = $_POST['body']; 

$mail = new PHPMailer(); 
$mail->IsSMTP();  
$mail->Host  = "host";  
$mail->SMTPAuth = true;  
$mail->Username = "[email protected]"; 
$mail->Password = "*******"; 
$mail->Port  = "587"; 
$mail->From  = "[email protected]";  
$mail->FromName = "Enfaltourism"; 
$mail->Subject = $subject;  
$mail->AddAddress($email); 
$mail->Send();` 

電子郵件被髮送成功,但問題是在發送阿拉伯文語文科目。電子郵件正文中正確顯示阿拉伯語後,我設置的字符編碼,但主題被顯示在奇怪的字符

更新

include("../mail/class.phpmailer.php"); 
$array= FetchTable('cos'); 
$subject = $_POST['subject']; 
$body = $_POST['body']; 
    $mail = new PHPMailer(); 
    $mail->CharSet = 'utf-8'; 
    $mail->IsSMTP();  
$mail->Host  = "mail.enfaltourism.com";  
$mail->SMTPAuth = true;  
$mail->Username = "[email protected]"; 
$mail->Password = "*****"; 
$mail->Port  = "587"; 
$mail->From  = "[email protected]";  
$mail->FromName = "Enfaltourism"; 
$mail->Subject = $subject; 

我固定爲u告知,但類似這樣的主題依然怪異字符

回答

7

你可以嘗試使用這段代碼。讓我知道這是否有助於

$phpmailer->Subject = "=?UTF-8?B?".base64_encode($subject)."?="; 
+0

唯一適用於我的。謝謝! –

11

我有日文字符此相同的問題,無論是在身體,並在主題行:

我解決它(電子郵件現在看起來優秀)這樣做:

$mail = new PHPMailer(); 
$mail->CharSet = 'UTF-8'; 

只要對象的CharSet屬性設置爲UTF-8,確實沒有必要分別對主題進行編碼。

1

嘗試編碼主題與base64_encode

$subject = '=?UTF-8?B?'.base64_encode('سلام علیکم').'?=';

但是與設置問題必須得到解決。

$mail = new PHPMailer; 
$mail->CharSet = 'UTF-8'; 
0

試試這個:

$mail->CharSet = 'UTF-8'; 
$mail->Subject = html_entity_decode("Recuperación de contraseña"); 

我確實在我的代碼使用這個和它的工作!

Results

+0

請格式化相應的代碼[見這裏](https://stackoverflow.com/editing-help) –

相關問題