среда, 13 апреля 2011 г.

ох уж этот Delphi

Написал сервис в делфи. Работает прекрасно, качает файлы с фтп по маске, все как надо.
А когда не может соединиться или еще какие проблемы у него - должен отсылать письмо.
Ну, казалось бы, в чем проблема, есть SMTP, есть ящик и пароль

  IDMessage1.Subject := smtpSubj;
  IDMessage1.Recipients.EMailAddresses := smtpRcpt + ';';
  IDMessage1.From.Address := smtpFrom;
  IDMessage1.Body.Text := text;

  smtp1.Connect();
  smtp1.Send(IDMessage1);
  smtp1.Disconnect;

Но не тут то было. Если тема написано по русски, то приходит не пойми что.
Решается проблема так:
В IDMessage1 есть событие OnInitializeISO. В нем пишем следущее:


  VCharset := 'windows-1251';
  VHeaderEncoding := 'B';

Ну или ту кодировку, которая вам нужна. И тогда сообщения приходят на русском.

Комментариев нет:

Отправить комментарий