Rat, стоит касперский, постоянно обновляется. Ничего не говорит. Все отправляется нормально и быстро
При отправке англоязычного текста все в поряддке, но при отправке русскоязыного текста..... Было над чем поработать
В теле кода отправки добавил:
Цитата:
IdMessage1.CharSet:='windows-1251';
IdMessage1.ContentType:='text/plain';
ContentTransferEncoding='noEncode';
|
Самое веселое, что это не работало, отправляло иероглифы
Покопался в интернете, нашел зантную вещь (про кривость InDy)
Ищем \Borland\Delphi7\Source\Indy\IdCoderHeader.pas
Там находим процедуру procedure InitializeISO(var TransferHeader: TTransfer; var HeaderEncoding: char;
var CharSet: string);
Цитата:
procedure InitializeISO(var TransferHeader: TTransfer; var HeaderEncoding: char;
var CharSet: string);
begin
TransferHeader := bit8; { header part conversion type }
HeaderEncoding := 'B'; { base64 / quoted-printable } {Do not Localize}
case GetSystemLocale of
csGB2312: CharSet := 'GB2312'; {Do not Localize}
csBig5: CharSet := 'Big5'; {Do not Localize}
csIso2022jp:
begin
CharSet := 'ISO-2022-JP'; {Do not Localize}
TransferHeader := iso2022jp { header needs conversion }
end;
csEUCKR: CharSet := 'EUC-KR'; {Do not Localize}
else
CharSet := 'ISO-8859-1''; {Do not Localize} {Эту кодировку надо принудительно сменить на Windows-1251}
HeaderEncoding := 'Q'; {Do not Localize}
end;
end;
|