Конференция "Сети" » Грузинские буквы в TIdMessage [WinXP]
 
  • gog © (30.07.13 16:52) [0]
    Всем добрый день.

    Пытаюсь отпрпавить мейл (Дельфи ХЕ, Windows XP). Вот фрагмент программы:

     IdSMTP:= TIdSMTP.Create(Nil);
     with IdSMTP do begin
       try
         Host:= 'Host';
         Port:= 25;
         Username:='My_Name';
         Password:='My_password';
         Connect;
       except
         on E:Exception do begin
           Memo1.Lines.Add(DateTimeToStr(Sysdate()) + '  Can not connect mail server' + Chr(13) + E.Message);
         end;
       end;
     end;

     try
       Msg:= TIdMessage.Create(Nil);
       Msg.CharSet:= 'UTF-8';
       Msg.Encoding:= meMIME;
       msg.Subject:='Test';
       msg.From.Address:='My_Address';
       msg.From.Name:='My_Name';
       msg.Recipients.EMailAddresses:='Other_Address';
       Msg.Body.Add('Some_Text');
       msg.IsEncoded:=True;
       IdSMTP.Send(msg);
       msg.Free;
       IdSMTP.Disconnect;
       IdSMTP.Free;
     except

     end;

    Текст содержит Англиские и Грузинские буквы. Англиские передаются нормально, а в место Грузинских идут ??????

    Можете подсказать как решить проблему?
  • DVM © (30.07.13 18:16) [1]
    Msg.OnInitializeISO := InitializeISO;

    procedure TMySuperPuperClass.InitializeISO(var VHeaderEncoding: Char; var vCharSet: string);
    begin
     VCharSet := IdCharsetNames[idcs_UTF_8];
     VHeaderEncoding := 'B';
    end;
  • gog © (31.07.13 10:01) [2]
    Спасибо DVM.
    Можете подсказать в каком модуле описана переменная IdCharsetNames?
    И еще, нельзя ли указанный Вами код поместить непосредственно в обработчике OnInitializeISO? Или это сделано так, по тому, что его надо принудитнльно вызывать в нужный момент, а не тогда когда это делает сам Дельфи?
  • DVM © (31.07.13 23:54) [3]

    > gog ©   (31.07.13 10:01) [2]


    > Можете подсказать в каком модуле описана переменная IdCharsetNames?

    IdCharsets

    http://www.indyproject.org/docsite/html/frames.html?frmname=topic&frmfile=IdCharsetNames.html


    > И еще, нельзя ли указанный Вами код поместить непосредственно
    > в обработчике OnInitializeISO? Или это сделано так, по тому,
    >  что его надо принудитнльно вызывать в нужный момент, а
    > не тогда когда это делает сам Дельфи?

    Можно, конечно, это и есть обработчик события OnInitializeISO
 
Конференция "Сети" » Грузинские буквы в TIdMessage [WinXP]
Есть новые Нет новых   [118456   +51][b:0][p:0]