Как использовать специальные символы в имени получателей при использовании почтовой функции PHP

Как отправить электронное письмо с именем « Name <user@example.com> » на:

 ŠŒŽœžŸ¥µÀÁÃÄÅÆÇÉÊËÍÎÏÐÒÓÕÖØÙÜÝßàáâåæçèéëìíîïðñóôõöøùûýÿ <user@example.com> 

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

В настоящее время это не выполняется, как указано в ошибке Apache error.log с

Игнорирование недопустимого адреса получателя «Кому:» «¥ μÀÁÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàââåäåæçèéêëíìíîïððîòîôööùùùùùûûûÿ» Транзакция отменена: адресатов не указаны

Если возможно, я хотел бы сохранить специальные символы «как есть». В противном случае, могу ли я использовать какую-либо функцию транслитерации для очистки имени?

Пример использования:

  <?php $to = "ŠŒŽšœžŸ¥µÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿ <CHANGED@gmail.com>"; $subject = "Test Subject"; $body = "Test Body"; if (mail($to, $subject, $body)) { echo("<p>Message successfully sent!</p>"); } else { echo("<p>Message delivery failed...</p>"); } ?> 

Related of "Как использовать специальные символы в имени получателей при использовании почтовой функции PHP"

mb_encode_mimeheader должен сделать это, как показано в примере:

 mb_internal_encoding('UTF-8'); $name = '山本'; $email = 'yamamoto@example.com'; $addr = mb_encode_mimeheader($name, 'UTF-8', 'Q') . " <$email>"; 

Для лучшей совместимости вы должны установить заголовок Mime-Version: 1.0 чтобы все почтовые клиенты понимали, что вы используете кодировку MIME.

Окончательные заголовки электронной почты должны выглядеть так:

 To: =?UTF-8?Q?=E5=B0=81=E3=83=90=E3=83=BC?= <yamamoto@example.com> Subject: =?UTF-8?Q?=E3=81=93=E3=82=93=E3=81=AB=E3=81=A1=E3=81=AF?= Mime-Version: 1.0 

Оформляет как:

 To: 山本 <yamamoto@example.com> Subject: こんにちは 

Связано: https://stackoverflow.com/a/13569317/476

RFC-821 (2821) сообщает нам, что все и любые 8-битные данные в поле заголовков должны быть закодированы. Base64 или QuotedPrintable, как хотите и можете. Большинство почтовых читателей автоматически декодируют закодированные строки