Delphi7 + indy 10 imap получение тела письма с простым текстом

Рейтинг: 0Ответов: 1Опубликовано: 20.04.2015

Задача - получить тело сообщения с ящика mail.ru пишу:

procedure TMainForm.Button_testimapClick(Sender: TObject);
var
  MsgCnt, i: integer;
  msg: TIdMessage;
begin
  try
    LoadMailSettings('imap');
    msg := TIdMessage.Create(nil);
    msg.CharSet := 'windows-1251';
    msg.ContentType := 'text/plain; charset="windows-1251"';
MainImap.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(MainImap);
MainImap.UseTLS := utUseImplicitTLS;
MainImap.Connect;

MainImap.SelectMailBox('INBOX');
MsgCnt := MainImap.MailBox.TotalMsgs;

for i := MsgCnt downto 1 do
begin
  MainImap.Retrieve(i, msg);
  if msg.Subject <> '' then
  begin
    Memo_mail.Lines.Add(msg.Subject);
    Memo_mail.lines.AddStrings(msg.Body);
  end;

end;

MainImap.Disconnect;
MainImap.IOHandler.Free;
msg.free;


except
    on e: Exception do
      ShowMessage('Error!');
  end;

end;

Все работает без ошибок ибо тут их невозможно сделать. НО! у меня в ящике есть письма в формате html типа рассылок mail.ru и их тело из msg.Body прекрасно добавляется в мемо -т.е. чтение есть. ок.

Шлю письмо с gmail ящика себе с обычным текстом, получаю его, делает msg.Body и пустота. Где я накосячил?

Ответы

Ответов пока нет.