Проблемы кодировки символов в PHPMailer - PullRequest
160 голосов
/ 22 марта 2010

Я пытаюсь использовать PHPMailer для отправки регистрации, активации.и т. д. для пользователей:

require("class.phpmailer.php");
$mail -> charSet = "UTF-8";
$mail = new PHPMailer();
$mail->IsSMTP();  
$mail->Host     = "smtp.mydomain.org";  
$mail->From     = "name@mydomain.org";
$mail->SMTPAuth = true; 
$mail->Username ="username"; 
$mail->Password="passw"; 
//$mail->FromName = $header;
$mail->FromName = mb_convert_encoding($header, "UTF-8", "auto");
$mail->AddAddress($emladd);
$mail->AddAddress("mytest@gmail.com");
$mail->AddBCC('mytest2@mydomain.org', 'firstadd');
$mail->Subject  = $sub;
$mail->Body = $message;
$mail->WordWrap = 50;  
if(!$mail->Send()) {  
   echo 'Message was not sent.';  
   echo 'Mailer error: ' . $mail->ErrorInfo;  
}

$message содержит символы латинского алфавита.К сожалению, вся веб-почта (gmail, webmail.mydomain.org, emailaddress.domain.xx) использует различную кодировку.

Как я могу заставить использовать кодировку UTF-8, чтобы моя почта отображалась одинаково на всех почтовых ящиках?

Я пытаюсь преобразовать ширину заголовка письма mb_convert_encoding(), но безуспешно.

Ответы [ 12 ]

0 голосов
/ 22 марта 2010

$ mail -> charSet = "UTF-8"; --- эта строка должна быть в $ mail = new PHPMailer (); линия.

пфф ..

0 голосов
/ 22 марта 2010

Если ваше сообщение использует Latin1, вы можете использовать utf8_encode В любом случае у меня работает.

...