Кодирование\декодирование MIME subject для почтовых сообщений на русском

В догонку к вот этому посту https://pustovoi.ru/2017/2469.

Что бы сделать шаблоны для postfix с темой сообщения на русском (некоторые пользователи, как огня боятся бусурманских слов), придется немного поколдовать, т.к. простое

Subject: Ваше сообщение доставлено!

Не сработает.

Для полного ознакомления со всеми этими премудростями читай RFC 2045 и RFC 2046.

Будем считать, что работаем мы в локали ru_RU.UTF-8, в таком разе, любое русское сообщение в теме письма будет выглядеть как:

Subject: =?UTF-8?B?XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX==?=

где ХХХ – это строка на русском в указанной мной локали закодированная по алгоритму base64. Т.е. если сделать:

serp@mail:~$ echo "Ваше сообщение доставлено!" | base64
0JLQsNGI0LUg0YHQvtC+0LHRidC10L3QuNC1INC00L7RgdGC0LDQstC70LXQvdC+IQo=

и добавить слева и справа к полученной строке недостающие символы, получим:

=?UTF-8?B?0JLQsNGI0LUg0YHQvtC+0LHRidC10L3QuNC1INC00L7RgdGC0LDQstC70LXQvdC+IQo==?=

и эту строку можно смело ставить в поле “Subject”, что элементарно проверяется онлайн декодером: https://dogmamix.com/MimeHeadersDecoder/

Декодировать, к слову, тоже можно с помощью base64

Добавить комментарий

Войти с помощью: