Видео смотреть бесплатно

Смотреть 2022 видео

Официальный сайт forexnw 24/7/365

Смотреть видео бесплатно

uscr 30.08.2011 17:45

Есть проблема![РЕШЕНО] Проблема с кодировкой в рассылке.

Здравствйте. Рассылаю уведомления о коммитах в гит-репозиторий с сервера под centOS. Рассылаю с помощью скрипта SendEmail через сервера гугла.

Проблема в том, что коммиты приходят кракозябрами. Тема письма отображается нормально, а весь русский текст превращается в кракозябры.

РЕШЕНИЕ:


SendEmail имеет опцию -o message-charset=CHARSET, в которой указывается кодировка сообщения.-o message-charset=UTF-8, в моём случае, решает проблему.


Пример:
делаю так -
1
/usr/local/bin/sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu [email protected] -xp pass -u "Мы все умрём" -m "Проверочка"


На почту приходит вот что: "Проверочка" Причём декодер лебедева считает, что это cp1251. При этом такая конструкция:
1
/usr/local/bin/sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu [email protected] -xp pass -u "Мы все умрём" -m `echo "Проверочка"|iconv -f utf-8 -t cp1251`

(тут типа попытка уже принудительно слать с cp1251 и не выпендриваться)
не помогает, приходят другие кракозябры - "Ïðîâåðî÷êà".

Локаль сервера, разумеется "человеческая" - en_US.UTF-8

О чём думать? Кого ругать?


Тэги:
+ 0 -
Похожие Поделиться

Sokoloff 31.08.2011 10:53 #
+ 0 -
На почту приходит вот что: "Проверочка" Причём декодер лебедева считает, что это cp1251.

Судя по периодическим буквам "Ð" это UTF8 (что логично). По стандарту обычный текст в письме должен содержать только латинские буквы, правда почтовые программы часто показывают не латин символы как KOI-8r. Для другого надо использовать MIME заголовки и MIME контейнеры. Соответственно есть два способа:

  • Колхозный - прогнать сообщение через iconv и преобразовать его в KOI-8.

  • Правильный - обернуть текст в MIME. Поищите в интернете "MIME почтовое сообщение". Как бонус Вы можете посылать сообщения HTML-е и т.о. сделать их симпатичнее.


uscr 31.08.2011 13:53 #
+ 0 -
Колхозный - прогнать сообщение через iconv и преобразовать его в KOI-8.

Это слишком колхозно :)

Правильный - обернуть текст в MIME. Поищите в интернете "MIME почтовое сообщение". Как бонус Вы можете посылать сообщения HTML-е и т.о. сделать их симпатичнее.

Круто! Нужно будет наладить отправку уведомлений на корпоративном бланке и выбить премию под это дело :)
sorrel 31.08.2011 11:28 #
+ 1 -
Если ты используешь этот sendEmail http://caspian.dotconf.net/menu/Software/SendEmail
То там есть параметр -o message-charset=CHARSET укажи в нем UTF-8 или если не помогает то можно в письмо просто добавить header через -o message-header=HEADER
А передать нужно вот такой header:
Content-Type: text/plain; charset=utf-8
И тогда можешь убрать iconv из своей конструкции))
Но как сказали выше MIME более правильное решение
uscr 31.08.2011 13:54 #
+ 0 -
Да. Именно этот сендемаил.
-o message-charset=CHARSET - помогло, спасибо.

Нужно читать документациюНужно читать документациюНужно читать документациюНужно читать документациюНужно читать документациюНужно читать документациюНужно читать документациюНужно читать документациюНужно читать документациюНужно читать документациюНужно читать документациюНужно читать документациюНужно читать документациюНужно читать документациюНужно читать документациюНужно читать документациюНужно читать документациюНужно читать документациюНужно читать документациюНужно читать документацию
sorrel 31.08.2011 13:57 #
+ 1 -
Всегда пожалуйста

Смотреть видео онлайн

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн