LINUX.ORG.RU

Преобразование UTF-8 -> code units


0

0

Доброго вечера.

Требуется сделать bash-скрипт для отправки почты по smtp. Все здорово и просто, но, к сожалению, требуется уникод. Соответственно, приходится кодировать и тему сообщения.

Возникшая проблема. Текст темы должен быть в виде:

=?UTF-8?Q?=D0=9F=D1=80=D0=B5=D0=B4=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8?= =?UTF-8?Q?=D0=B5?=

Есть ли возможность преобразовать текст средствами bash'а (iconv, похоже, тут не помощник)? Или хотя бы получать заданный текст соответствующими кодами, под работу sed'а?

Deleted
Ответ на: комментарий от ananas

Используется msmtp, все бегает. Но проблема в том, что, в частности, мейл.ру не желает опознавать кодировку темы, если она не указана в вышеозначенном виде.

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

Deleted
()
Ответ на: комментарий от Deleted

подозреваю, что написать свой костыль-конвертер для sed будет быстрее, чем найти что-то более изящное.

Deleted
()

на bash+sed хз, но с перлом можно примерно так:

echo "Привет мир" | perl -Mbytes -ne's/./sprintf"=%02X",ord$&/ge;s/$/?=/;print"=?UTF-8?Q?$_"'
получаем
=?UTF-8?Q?=D0=9F=D1=80=D0=B8=D0=B2=D0=B5=D1=82=20=D0=BC=D0=B8=D1=80?=
если правильно понял задачу, конечно ;)

arsi ★★★★★
()
Ответ на: комментарий от arsi

В точку! Спасибо!

Эх, право было мое отражение в зеркале, утверждающее "хватит работать, перл лучше учи!"

Deleted
()
Ответ на: комментарий от ananas

> так а что мешает в скрипте использовать

> echo письмецо | mail -s "темочка" addres@mail.ru

а что нужно сказать mail'у что бы оно стало правильно кодировать тему ? у меня не кодирует.

Eshkin_kot ★★
()
Ответ на: комментарий от Eshkin_kot

> а что нужно сказать mail'у что бы оно стало правильно кодировать тему ? у меня не кодирует.

http://heirloom.sourceforge.net/mailx.html

этот вариант перекодирует без лишних телодвижений

ananas ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.