我正在使用PHPMailer
API发送电子邮件。我想知道如何用阿拉伯语(非英语)语言发送主题
$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 = "yaz@enfaltourism.com";
$mail->Password = "*******";
$mail->Port = "587";
$mail->From = "yaz@enfaltourism.com";
$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 = "yaz@enfaltourism.com";
$mail->Password = "*****";
$mail->Port = "587";
$mail->From = "yaz@enfaltourism.com";
$mail->FromName = "Enfaltourism";
$mail->Subject = $subject;
我按照你的说法固定,但主题仍然是这样的奇怪角色
答案 0 :(得分:12)
我在身体和主题行中都遇到了与日语字符相同的问题:
我解决了这个问题(电子邮件现在看起来很棒):
$mail = new PHPMailer();
$mail->CharSet = 'UTF-8';
只要对象的CharSet属性设置为UTF-8,就没有必要单独编码主题。
答案 1 :(得分:8)
您可以尝试使用此代码。如果有帮助请告诉我
$phpmailer->Subject = "=?UTF-8?B?".base64_encode($subject)."?=";
答案 2 :(得分:1)
尝试使用base64_encode
$subject = '=?UTF-8?B?'.base64_encode('سلام علیکم').'?=';
但是设置问题必须解决。
$mail = new PHPMailer;
$mail->CharSet = 'UTF-8';
答案 3 :(得分:0)
试试这个:
$mail->CharSet = 'UTF-8';
$mail->Subject = html_entity_decode("Recuperación de contraseña");
我在我的代码中使用了它,它确实有效!