![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с кодирование темы сообщения в idMessage [D6, WinXP]
Yozch1 © (2005-10-07 12:37:00)Кидаю на форму IdMessage (Indy), устанавливаю CharSet=windows-1251
Все вроде ок, но в получаемом письме темы выглядит как
Subject: =?ISO-8859-1?Q?=C7=E0=EA=E0=E7 =E4=EB=FF?=
что не естьь гуд для некоторых почтовиков.
Как явно charset для Subject указать? Все время подставляется ISO-8859-1. Помогите пожалуйста, въехать не могу.
Yozch1 (2005-10-07 13:48:00) [1]Нифига, есть решение
LMsg.OnInitializeISO := LMsgOnInitializeISO;
...
procedure TClass_Smtp.LMsgOnInitializeISO(var VTransferHeader: TTransfer;
var VHeaderEncoding: Char; var VCharSet: string);
begin
VCharSet := 'Windows-1251';
VHeaderEncoding := 'B'; //'8'
end;
+ в модуле IdMessageClient.pas исходников надо поправить чтобы части тоже
шли в нормальной кодировке:
...
else begin
if LMIMEAttachments then
begin
WriteLn('Content-Type: text/plain; charset='+ISOCharSet {by Drema
07.09.2005}); {do not localize}
WriteLn('Content-Transfer-Encoding: 7bit'); {do not localize}
WriteLn('');
WriteBodyText(AMsg);
end;
end;
...
stone (2005-10-07 13:38:00) [2]
> Как явно charset для Subject указать?
Никак. Нужно раскодировать при чтении в нужную кодировку