| Today, I tried to develop mail application with TIdMessage, but I have problem in character set encoding. And I found the answer at http://www.yac.com.pl/mt.texts.tidmessage.charset.en.html
With this wrapper class, TMyMessage = class(TIdMessage)
private
procedure InitializeUTF8(
var VTransferHeader: TTransfer; var VHeaderEncoding: char; var VCharSet: string);
end;
procedure TMyMessage.InitializeUTF8(
var VTransferHeader: TTransfer; var VHeaderEncoding: char; var VCharSet: string);
begin
VCharSet := 'UTF-8';
end;
And then,
LMessage := TMyMessage.Create(NIL);
LMessage.ContentType := 'text/plain; charset=UTF-8';
LMessage.OnInitializeISO := LMessage.InitializeUTF8;
Actually CharSet property of TIdMessage should work fine, but it doesn't work.
On Delphi 2009, some features are changed so you need to use below wrapper class as below.
TMyMessage = class(TIdMessage)
private
procedure InitializeUTF8(
var VHeaderEncoding: char; var VCharSet: string);
end;
procedure TMyMessage.InitializeUTF8(
var VHeaderEncoding: char; var VCharSet: string);
begin
VCharSet := 'UTF-8';
end;
|