|
v7: CDO.Message как задать кодировку текста сообщение | ☑ | ||
---|---|---|---|---|
0
pvase
09.02.12
✎
17:34
|
Вот код обработки:
// =============================== Процедура Сформировать() // От кого отправляем и через какой логин EmeilОт = "@mail.ru"; // Кому отправляем - email EmeilКому = "Мне@mail.ru"; // Сервер SMTP СерверSMTP = "smtp.mail.ru"; // Порт SMTP ПортSMTP = 25; // Логин на SMTP ЛогинSMTP = "Логин@mail.ru"; // Пароль на SMTP ПарольSMTP = "passwort"; loConfig = CreateObject("CDO.Configuration"); loCdoMessage = CreateObject("CDO.Message"); loCdoMessage.Configuration = loConfig; loCdoMessage.From = EmeilОт; loCdoMessage.To = EmeilКому; loCdoMessage.Subject = "Проверка кодировки"; ТекстСообщения = "Проверка кодировки"; HTMLBody = "<html> |<head> | <meta content=""text/html; charset=Windows-1251"" http-equiv=""content-type""> |<title> Тестовое сообщение </title> |</head> |<body> |<h3>" + ТекстСообщения + "</h3> |<p></p> |</body> |</html>"; loCdoMessage.HTMLBody = HTMLBody; //loCdoMessage.AddAttachment(ВложениеПисьма); loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing").Value = 2; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value = СерверSMTP; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport").Value = ПортSMTP; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value = 1; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername").Value = ЛогинSMTP; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword").Value = ПарольSMTP; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl").Value = 0; loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout").Value = 60; loConfig.Fields.Update(); loCdoMessage.Send(); КонецПроцедуры Не хочет отправлять почту в кодировке Кирилица 1251, приходит письмо с нечитаемыми символами. Вот здесь пример обработки: http://www.rapidshare.ru/2773279 |
|||
1
andrewks
09.02.12
✎
17:36
|
ну вот же ты её задаешь: charset=Windows-1251
|
|||
2
pvase
09.02.12
✎
17:37
|
(1) Но письмо приходит не в 1251, а в нечитаемом виде, даже если сохранить текст письма и откріть в браузере - не получиться прочитать, даже задав принудительно кодировку 1251.
|
|||
3
pvase
09.02.12
✎
17:58
|
Если тот же текст прилепить как Attachment (вложение) то все нормально отображается.
|
|||
4
pvase
09.02.12
✎
17:59
|
Вот такой код если вставить, то вложение отображается как надо:
ТекТекст = СоздатьОбъект("Текст"); ТекТекст.ДобавитьСтроку(ТекстСообщения); ФайлСообщ = КаталогВременныхФайлов()+"Письмо.html"; ТекТекст.Записать(ФайлСообщ); loCdoMessage.AddAttachment(ФайлСообщ); |
|||
5
PZh
09.02.12
✎
18:04
|
Отправь аналогичное сообщение в аналогичной кодировке твоим почтовым клиентом и сравни текст заголовка, чего не хватит - добавь.
|
|||
6
pvase
09.02.12
✎
18:13
|
Нашел, вот что надо было добавить:
loCdoMessage.BodyPart.Charset = "windows-1251"; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |