AlexanderTsymbal
@AlexanderTsymbal
tsymbal.su

Как избавиться от кракозябров в поле «От», если почтовый адрес кириллический, а письмо отправляется функцией php mail()?

Собственно, весь вопрос в теме. Использую форму заявки на кириллическом домене. Отправляю письмо функцией php mail(), а в поле "от кого" вижу не нормальный адрес no-reply@мойсайт.рф, а вопросительные знаки.
joxi.ru/LmGpoDjsNO1e2l
Кодировки настроены верно, в хедере указана utf-8, файл сохранен в utf-8 - в этом плане конфликтов нет.
Мож кто сталкивался?
  • Вопрос задан
  • 771 просмотр
Решения вопроса 1
AlexanderTsymbal
@AlexanderTsymbal Автор вопроса
tsymbal.su
решается проблема интересным образом: вместо реального названия сайта, написанного на кириллице, нужно использовать его punycode вроде xn--90azcerm.xn--p1ai
таким образом, при отправке письма функцией mail() в параметре отправителя указываем no-reply@xn--90azcerm.xn--p1ai - письмо приходит в правильном формате, в поле "От кого" указан кириллический адрес.

Но вопрос в другом. Например, если смотрим письмо в веб-интерфейсе mail.ru, то в списке писем адрес показывается как есть (без конвертации в кириллицу) no-reply@xn--90azcerm.xn--p1ai, а вот когда открываем письмо, то там уже с конвертацией. Я думаю, это баг mail.ru, на других почтовых сервисах пока не тестировал. Но теперь другой вопрос - эстетического плана - нужно как-то добавить имя отправителю, чтобы в списке писем показывался не голый адрес, а какое-нибудь произвольное название... Ну, это уже нагуглю.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы