kn1ght_t
@kn1ght_t

Почему письмо на сервис mail.ru приходит в неправильной кодировке?

использую следующий php скрипт:
if(  isset($_POST['email'])) {
	
	
 
 $to = $_POST['email'];
  $from = "<info@stereofinance.ru>"; //resultative@ya.ru
  $subject = "Прайс-лист на услуги Стереофинанс"; 
  $boundary = "---"; 
  $message= "Добрый день. <br><br>
  Получите консультацию, позвонив в нашу компанию по телефону: <b>(499)    677-20-60</b><br><br>
  Будем рады сотрудничеству.<br>Хорошего дня!";
  $headers = "From: $from\nReply-To: $from\n";
  $headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"";
  $body = "--$boundary\n";
  
  
  $body .= "Content-type: text/html; charset='utf-8'\n";
  $body .= "Content-Transfer-Encoding: quoted-printablenn";
  $body .= "Content-Disposition: attachment; filename==?utf-8?B?".base64_encode($filename)."?=\n\n";
  $body .= $message."\n";
  $body .= "--$boundary\n";
  
  
  
  $file = fopen($filepath, "r"); 
  $text = fread($file, filesize($filepath));
  fclose($file); 
  $body .= "Content-Type: application/octet-stream; name==?utf-8?B?".base64_encode($filename)."?=\n"; 
  $body .= "Content-Transfer-Encoding: base64\n";
  $body .= "Content-Disposition: attachment; filename==?utf-8?B?".base64_encode($filename)."?=\n\n";
  $body .= chunk_split(base64_encode($text))."\n";
  $body .= "--".$boundary ."--\n";
  mail($to, $subject, $body, $headers); 
};

на google и yandex почту все хорошо приходит
на mail.ru приходит в таком виде с неправильной кодировкой
  • Вопрос задан
  • 2707 просмотров
Пригласить эксперта
Ответы на вопрос 2
Попробуйте пересохранить файл приведенного скрипта, отправляющего почту, в кодировке utf-8, без BOM.
Ответ написан
$body .= "Content-type: text/html; charset='utf-8'\n";
$body .= "Content-Transfer-Encoding: quoted-printablenn";
$body .= "Content-Disposition: attachment; filename==?utf-8?B?".base64_encode($filename)."?=\n\n";

И все что не связано с сообщением попробуйте все это в $headers убрать.
Еще это посмотрите mb-send-mail
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы