Проблемы с кодировкой при отправке электронной почты с PHP на Hotmail - PullRequest
3 голосов
/ 25 августа 2011

Я использую следующий код для отправки письма членам моего сайта. Сценарий работает, и электронная почта получена пользователем. Но я сталкиваюсь с проблемами кодирования при отправке электронной почты в Hotmail или Notes.

код:

$to       = "to@email.com";
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/plain; charset="utf-8"; format="flowed"' . "\r\n";
$headers .= 'Content-Transfer-Encoding: 8bit'. "\n\r\n";
$headers .= "To: John Doe<john@doe.com>" . "\r\n" . 
"From: John Smith<john@smith.com" . "\r\n" .
"Reply-To: john@doe.com" . "\r\n" .
"Return-Path: john@doe.com" . "\r\n" .
"Sender: john@doe.com" . "\r\n" .
"X-Sender: john@doe.com" . "\r\n" .
"X-Mailer: JohnDoe". "\r\n".
"X-Report-Abuse: Please report abuse to: john@doe.com";

//If the e-mail was successfully sent...
$subject = $translation[104];
if(mail($to, $subject, $message, $headers)){

}

Как сообщение, так и тема содержат шведские буквы Å, Ä и Ö. Фактическое сообщение правильно закодировано и просмотрено в Hotmail, а тема - нет. Вы можете просмотреть изображение ниже для получения дополнительной информации:

Изображение: http://www.aspkoll.se/imgo/649

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

Не могли бы вы помочь мне с этой проблемой?

Оценил!

Ответы [ 2 ]

6 голосов
/ 25 августа 2011

Темы электронных писем и другое содержимое заголовка, например имена, кодируются с использованием RFC 2047

комментариев php.net к mail() и приводим следующий пример:

mail($mail, "=?utf-8?B?".base64_encode ($subject)."?=", $message, $headers);
0 голосов
/ 25 августа 2011

Попробуйте http://www.phpclasses.org/browse/file/919.html. Работает для почты Yahoo, Gmail, Hotmail.

П.С .: Hotmail отстой. :)

...