![]() |
#1 |
Участник
|
[решено] Снова о кракозябрах в сообщениях эл.почты
Привет всем!
Столкнулся с такой проблемой. У нас в организации используется DAX App version 4.0 2501.347 Kernel version 4.0 2501.1161. c Lotus Domino Server 8.5.1 Настроили рассылку почтовых сообщений. В клиенте Lotus Notes они видны как кракозябры, а если указать емейл партнера (у них используется Exchange) в клиенте MS Outlook сообщения видны как нормальные сообщения на русском. чБН РПУФХРЙМ ОБ УПЗМБУПЧБОЙЕ фнг Й ХУМ. N лт000043 йОЙГЙБФПТ ДПЗПЧПТБ: рПУФБЧЭЙЛ ? Dong Nam Shipping Co., Ltd. оБ УХННХ: 0,00 в исходнике письма видно, что отправитель и тема письма начинаются с ?koi8-r? и оба клиента их показывают нормально. Содержимое письма - multipart/alternative, и последняя часть - собственно тело сообщения, в ней кодировка не указана. ------=_NextPart_000_012C_01CAFC39.54A782C0 Content-Type: text/html Content-Transfer-Encoding: quoted-printable <html><HEAD></HEAD> <BODY class=3DAxapta MarginWidth=3D"0" MarginHeight=3D"0" WebletName=3D"Web= Let183178937" Type=3D"WebPageWeblet"><SPAN lang=3DRU><SPAN lang=3DRU> <P dir=3Dltr align=3Dleft>=F7=C1=CD =D0=CF=D3=D4=D5=D0=C9=CC =CE=C1 =D3=CF= =C7=CC=C1=D3=CF=D7=C1=CE=C9=C5 =F4=ED=E3 =C9 =D5=D3=CC. N <B>=EB=F2000= 043</P></B> <P dir=3Dltr align=3Dleft>=E9=CE=C9=C3=C9=C1=D4=CF=D2 =C4=CF=C7=CF=D7=CF=D2= =C1: <B></P></B> <P dir=3Dltr align=3Dleft>=F0=CF=D3=D4=C1=D7=DD=C9=CB ? <B>Dnog Mam Stillin= g Co., Ltd.</B> </P><B> <P dir=3Dltr align=3Dleft></B></P> <P dir=3Dltr align=3Dleft>=EE=C1 =D3=D5=CD=CD=D5: 0,00</P></SPAN></SPAN></B= ODY></html>= ------=_NextPart_000_012C_01CAFC39.54A782C0-- Предполагаю, что если бы кодировка была указана в заголовке html файла тегом <HEAD><meta http-equiv="content-type" content="text/html; charset=koi8r" /></HEAD> то письмо отобразилось бы нормально, т.к. фактическая кодировка тела сообщения именно koi8r. В связи с этим прошу подсказать где в коде и как нужно добавить заполнение тега meta? и второй вопрос, где и как указать компоненту, который отсылает почтовое сообщение кодировку тела сообщения? ps Lotus курочить - это очевидный, но последний вариант, сначала хотелось бы попробовать, что будет если заполнить тег <HEAD>. Последний раз редактировалось Comandante; 26.05.2010 в 13:32. Причина: вопрос закрыт |
|
![]() |
#2 |
Участник
|
Надыбал тут на форуме, что письма отправляются с помощью класса SysMailer.
Посмотрел его и в итоге решил проблему методом лома против которого нет приема. X++: // Send mail public void sendMail() { InteropPermission permission = new InteropPermission(InteropKind::ComInterop); // --> Comandante, 26.05.2010 str src; str pattern = "</HEAD>"; str meta = '<meta http-equiv="content-type" content="text/html; charset=koi8r" />'; int position; // <-- ; permission.assert(); // --> Comandante, 26.05.2010 this.bodyCharSet('koi8r'); src = this.htmlBody(); position = strscan(src, pattern, 1, 999); src = strins(src, meta, position); //info(src); this.htmlBody(src); // <-- //BP Deviation Documented _COM.send(); } И еще надо пофиксить метод BodyCharSet теперь сообщения видны на русском без крако Последний раз редактировалось Comandante; 26.05.2010 в 13:51. |
|
|
За это сообщение автора поблагодарили: dn (2), donMigel (1), Cathome (1), Dynamics365Eng (1). |