|
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 19
|
|
Кодировка писем22.09.2016, 10:00. Показов 5742. Ответов 16
Здравствуйте, рассылая почту модулем Net::SMTP или Сендмейлом письма в разных почтовых клиентах требуется перекодировать.
Так, для MS OUTLOOK это КОИ-8Р, для The bat - это Win1251. В скрипте кодировку указываю, но я же не знаю какой почтовый клиент у пользователя. Что делать?
0
|
|
| 22.09.2016, 10:00 | |
|
Ответы с готовыми решениями:
16
Не работает парсер писем Обработка почтовых писем Кодировка писем |
|
352 / 222 / 25
Регистрация: 30.09.2012
Сообщений: 548
|
||||||
| 23.09.2016, 18:42 | ||||||
|
Если в скрипте указано что-то вроде
Удачи.
0
|
||||||
|
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 19
|
|
| 26.09.2016, 14:52 [ТС] | |
|
У меня указано вот так:
$smtp->datasend("Content-Type: text/plain; koi8-r\n"); # MIME и кодировка В таком варианте, меняя в скрипте кодировку, письмо приходит с кодировкой указанной в скрипте. Но почтовый клиент не хочет менять свою кодировку "по умолчанию", на указанную в письме и показывает крокозябы. Более того, аутлук не желает работать даже если для письма меняешь кодировку. Все равно крокозябы. Попробую в точности указать как у Вас, поменять plain на html.
0
|
|
|
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 19
|
|
| 29.09.2016, 16:06 [ТС] | |
|
Попробовал, это ничего не меняет. У меня админка по рассылке писем в кодировке UTF-8, база MySQL тоже в этой кодировке, указываю в письме кодировку Win1251, как Вы пишите, но письма приходят в кодировке UTF-8. Почтовые клиенты (и the bat и оутлук) корректно стали перекодировать письма, при выборе UTF-8, но я это связываю с тем что ранее в базу данных я вносил инфо в другой кодировке, для эксперимента, и когда везде сделал UTF-8 полученное письмо можно перекодировать правильно, выбрав эту кодировку. Указывал в скрипте и UTF-8, но все-равно почтовые клиенты показываю кодировку как у них стоит в настройках (т.е. не ту кодировку и крокозябы), для the bat - это win1251, для оутлук - КОИ8-Р.
К тому же в html формате много гемора натягивать теги на текст письма. Но я проделал и этот эксперимент, сделал полную структура html-документа для письма с указанием meta тегов и кодировки UTF-8. Это помогло частично. THE BAT стал понимать правильно! Но оутлук уперто стоит на своей КОИ8-Р. К тому же мы не знаем какие еще есть почтовые клиенты у пользователей. Но главное победить Оутлук. Какие еще есть идеи, как победить оутлук? спасибо.
0
|
|
|
352 / 222 / 25
Регистрация: 30.09.2012
Сообщений: 548
|
||
| 30.09.2016, 14:52 | ||
|
У меня к сожалению или к счастью под Linux нет Outlook, но алгоритм решения Вашей проблемы следующий. 1. Любым способом посылаете к себе на Outlook письмо, которое хорошо принимается и читается. 2. Просматриваете принятое письмо как текст, определяете его кодировку, смотрите служебные поля. 3. Формируете в аналогичной кодировке и аналогичной структуре письмо через Perl. 4. Проверяете сформированное письмо на остальных клиентах. 5. Всегда помните, что спам вреден для кармы и приводит к частой икоте.
0
|
||
|
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 19
|
|
| 04.10.2016, 10:08 [ТС] | |
|
Спасибо за ответ!
Спасибо что не посчитали меня спамером, т.к. я забыл указать, что рассылку делаю исключительно добровольным подписчикам сайта, рассылка новостей сайта. Таким образом у меня есть на сайте страничка подписки на новости, где я собираю имейлы (могу дать ссылку, если форумом это допускается, то вот она http://romaxprom.ru/cgi-bin/subscribe.cgi), затем в каждом письме есть ссылка на отписку от новостей, если вдруг человек решил что ему это больше не надо, (вот она http://romaxprom.ru/cgi-bin/unsubscribe.cgi). У меня уже есть база из примерно 100 добровольных подписчиков. Сорри что не объяснил это в начале моей темы. jenker в моем письме - это оутлук (punto switcher шалит). Теперь по Вашему ответу, я так и делал для jenker? как Вы пишите. Jenker понимает кодировку КОИ8, я внес в базу данных имейли и комменты по названию организаций в этой кодировке, в скрипте отправки почты указал эту кодировку, сам скрип в этой кодировке, отправил почту. Письма прекрасно пришли в jenker в читаемом виде. Но проблема в том что в другие почтовые клиенты, в таком случае, приходят крокозябы, в the bat например. Так как the bat не понимает кои8 по умолчанию. Кроме того, скрипт в кодировке кои8 не вяжется с остальными скриптами и базой данных, которые все в кодировке UTF-8! Как интересно сделать, чтобы скрипты, сайт и база данных были в нормальной кордировке UTF-8, а вот в коде отправке почты указывать то что переключит каждый почтовый клиент на правильную кодировку? Я думаю нужно еще что-то добавить в структуру html кода письма, т.к. the bat уже стал понимать. Но что добавить? спасибо, еще раз.
0
|
|
|
352 / 222 / 25
Регистрация: 30.09.2012
Сообщений: 548
|
||||||
| 04.10.2016, 12:09 | ||||||
|
Почитал про TheBat на форуме сайта производителя. Исходя из этой ветки проблемы с кодировкой у TheBat случаются.
А в html Вы добавляете указание кодировки?
0
|
||||||
|
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 19
|
|
| 04.10.2016, 13:27 [ТС] | |
|
Да, добавляю, я писал: "сделал полную структура html-документа для письма с указанием meta тегов и кодировки UTF-8. Это помогло частично. THE BAT стал понимать правильно! "
Вот мое письмо: <!DOCTYPE html> <html lang="ru"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta charset="UTF-8"> <title>Ножи для кормораздатчиков кормосмесителей ИСРК-12 "Хозяин" Запагромаш раздатчиков смесителей кормов РСК-12 "Белмикс" Бобруйскагромаш</title> </head> <body> <p>бла бла бла текст письма </p> </body> </html> The bat понял меня, Outlook нет.
0
|
|
|
352 / 222 / 25
Регистрация: 30.09.2012
Сообщений: 548
|
||||||||||||||||
| 05.10.2016, 18:25 | ||||||||||||||||
|
Попробуйте в своём примере текст в html только в utf-8 и
0
|
||||||||||||||||
|
48 / 22 / 3
Регистрация: 21.06.2013
Сообщений: 92
|
||
| 06.10.2016, 09:00 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 19
|
|
| 18.10.2016, 12:00 [ТС] | |
|
hobo-mts, Не могли бы Вы дать пример, что там нужно указывать? Ведь RFC-заголовки письма - это служебная информация о маршруте прохождения писем. Как можно на это влиять и что нам это дает?
0
|
|
|
48 / 22 / 3
Регистрация: 21.06.2013
Сообщений: 92
|
||
| 18.10.2016, 12:38 | ||
|
http://www.icmm.ru/~masich/win... /form.html http://citforum.ru/internet/servers/glava2_5.shtml http://web.opennet.ru/docs/RUS/mime_rfc/
0
|
||
|
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 19
|
||
| 18.10.2016, 13:09 [ТС] | ||
|
pka, Перестановка, добавление, удаление кода пока ничего существенно не меняет для Outlook.
Добавлено через 26 минут $smtp->datasend('Content-Type: text/html; charset=UTF-8'); И, насколько я понимаю, модуль Net::SMTP передает эти инструкции и приклеивает к письму. Добавил еще инструкцию в скрипт $smtp->datasend('Content-transfer-encoding: base64'); как в учебнике про MIME. но Outlook по-прежнему не понимает.
0
|
||
|
48 / 22 / 3
Регистрация: 21.06.2013
Сообщений: 92
|
||
| 18.10.2016, 13:28 | ||
|
У меня Outlook прекрасно понимает и UTF-8, и cp1251
0
|
||
|
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 19
|
||
| 18.10.2016, 14:54 [ТС] | ||
|
Delivered-To: gdmipro@gmail.com Received: by 10.12.142.14 with SMTP id v14csp811850qvb; Tue, 18 Oct 2016 03:02:13 -0700 (PDT) X-Received: by 10.25.133.11 with SMTP id h11mr20521609lfd.60.1476784933775; Tue, 18 Oct 2016 03:02:13 -0700 (PDT) Return-Path: <info@romaxprom.ru> Received: from smtpout17.sweb.ru (smtpout17.sweb.ru. [77.222.41.73]) by mx.google.com with ESMTPS id a202si7098953lfb.243.2016.10.18.03.02.13 for <gdmipro@gmail.com> (version=TLS1_2 cipher=AES128-SHA bits=128/128); Tue, 18 Oct 2016 03:02:13 -0700 (PDT) Received-SPF: neutral (google.com: 77.222.41.73 is neither permitted nor denied by best guess record for domain of info@romaxprom.ru) client-ip=77.222.41.73; Authentication-Results: mx.google.com; spf=neutral (google.com: 77.222.41.73 is neither permitted nor denied by best guess record for domain of info@romaxprom.ru) smtp.mailfrom=info@romaxprom.ru Date: Tue, 18 Oct 2016 03:02:13 -0700 (PDT) Message-Id: <5805f325.d34d190a.e856d.eb49SMTPIN_ADDE D_MISSING@mx.google.com> Received: from [UNAVAILABLE] ([77.222.40.7] helo=localhost.localdomain) by smtpout17.sweb.ru with esmtpa (Exim 4.84) (envelope-from <info@romaxprom.ru>) id 1bwRDo-0005ok-Nd for gdmipro@gmail.com; Tue, 18 Oct 2016 13:02:12 +0300 From: info@romaxprom.ru To: gdmipro@gmail.com Content-Type: text/html; charset=UTF-8Content-transfer-encoding: base64Subject: http://romaxprom.ru X-EsetId: B2B8902238653530E8F5CD Меня смущает то, что предпоследняя строчка слепливает строки: "Content-Type: text/html; charset=UTF-8Content-transfer-encoding: base64Subject: http://romaxprom.ru" Outlook у меня из офиса 2010 версия 14.0.4760.1000 (32-разрядная)
0
|
||
|
48 / 22 / 3
Регистрация: 21.06.2013
Сообщений: 92
|
||||||
| 18.10.2016, 15:41 | ||||||
|
Пример из perldoc говорит, что символы новой строки нужны
0
|
||||||
|
0 / 0 / 0
Регистрация: 15.07.2013
Сообщений: 19
|
|
| 18.10.2016, 16:34 [ТС] | |
|
Огромное спасибо, заработало! Строку "Content-transfer-encoding: base64" убрал, с ней тоже не работало. Получается ошибка была в простом синтаксисе! За что оч. стыдно (.
Работает даже с простым текстом (не html). Заработала также тема письма (кодировка в Subject), что ранее не работало! Всем огромное спасибо!
0
|
|
| 18.10.2016, 16:34 | |
|
Помогаю со студенческими работами здесь
17
Кодировка електронных писем Кодировка писем mail.ru Кодировка писем со вложением Кодировка заголовков E-mail писем
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|