Электронная почта Php, отправленная с вопросами по темам в Outlook только

Я отправляю почту с использованием php, а тема письма имеет акценты.

Я получаю странные символы в Outlook вместо акцентированных символов. Если я увижу электронную почту в веб-клиенте электронной почты, я вижу, что тема идеальна.

Это код, который im использует для отправки электронной почты:

$to = 'whateveremail@whatever.com'; $subject = '[WEBSITE] áccent – tésts'; $message = '<p>Test message</p> $headers = 'MIME-Version: 1.0' . "\r\n"; $headers.= 'From:equipothermomix@thermomix.com' . "\r\n"; $headers.= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; mail($to, $subject, $message , $headers); 

Как я могу решить проблему, мне нужно использовать другую кодировку?

Единственный надежный способ отправки электронной почты – использовать обычный 7-битный ASCII, поэтому вам нужно правильно закодировать строки, если хотите использовать что-либо еще. В вашем случае [WEBSITE] áccent – tésts должны быть закодированы как (например) =?windows-1252?B?W1dFQlNJVEVdIOFjY2VudCCWIHTpc3Rz?= , Где строка делится как:

 =?windows-1252?B?W1dFQlNJVEVdIOFjY2VudCCWIHTpc3Rz?= ^ ^ ^ | | | Charset | Data | Base64 

Проверьте:

 echo base64_decode('W1dFQlNJVEVdIOFjY2VudCCWIHTpc3Rz'); // [WEBSITE] áccent – tésts 

Это всего лишь пример одного из возможных способов кодирования строк, отличных от ASCII.

При отправке электронной почты есть много мелких деталей, которые требуют внимания. Вот почему рано или поздно вы в конечном итоге используете подходящий почтовый пакет, такой как Swift Mailer или PHPMailer .

Если существует сочетание типов кодирования, специальные символы уничтожаются.

PHP-взаимодействие с кодировкой HTML Charset

PHP также имеет возможность кодирования сообщений.

 mb_language('uni'); // mail() encoding 

PHP – многобайтовая строка