greenmag napisał(a)
moze o to chodzi ... jesli tak to prosze ;)
http://webmaster.helion.pl/kurshtml/znaki/znaki.htm
Dzięki!
O to chodziło. Działa.
Jeśli ktoś jeszcze mógłby looknąć na ten problem.
Otóż, przy wysyłaniu tego maila, przy pomocy INDY (IdSMTP) wyświetla mi się taki błąd:
"Socket Error $10053 Software caused connection abort"
Co to znaczy? Czy to dlatego, że w komponencie IdSMTP mam ustawioną właściwość SendbufferSize=32768? Zwiększenie jej nic nie daje...
Tak wysyłam maila w formacie HTML:
procedure TForm1.Button1Click(Sender: TObject);
var
html: TStrings;
htmpart, txtpart: TIdText;
bmppart: TIdAttachment;
email: TIdMessage;
filename: string;
filename1: string;
begin
filename := ExtractFilePath(Application.ExeName) + 'pope.jpg';
filename1 := ExtractFilePath(Application.ExeName) + 'tlo.bmp';
// --------------------------- Strona HTML -------------------------------------
html := TStringList.Create();
html.Add('<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=windows-1250">');
html.Add('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">');
html.Add('<HTML>');
html.Add('<HEAD>');
html.Add('<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=windows-1250">');
html.Add('<meta http-equiv="Content-Language" content="pl">');
//html.Add('<STYLE>');
//html.Add('BODY { BACKGROUND-POSITION: left top; FONT-SIZE: 10pt; COLOR: #000000; BACKGROUND-REPEAT: repeat; FONT-FAMILY: Arial }');
//html.Add('</STYLE>');
html.Add('</HEAD>');
html.Add('<BODY BGColor=#ffffff background="cid:tlo.bmp" TEXT="#000000" LINK="#0000FF" ALINK="#FF0000" VLINK="#000080">');
html.Add('<DIV>');
...
html.Add('</BODY>');
html.Add('</HTML>');
// -----------------------------------------------------------------------------
email := TIdMessage.Create(nil);
email.From.Text := 'Nadawca';
email.Recipients.EMailAddresses := cc.text; //do kogo
email.Subject := 'Tytul Emaila';
email.ContentType := 'multipart/mixed';
email.CharSet:='windows-1250';//'ISO-8859-2';
email.Body.Assign(html);
txtpart := TIdText.Create(email.MessageParts);
txtpart.ContentType := 'text/plain';
txtpart.Body.Text := '';
htmpart := TIdText.Create(email.MessageParts, html);
htmpart.ContentType := 'text/html';
bmppart := TIdAttachment.Create(email.MessageParts, filename);
bmppart.ContentType := 'image/jpeg';
bmppart.FileIsTempFile := false;
bmppart.ContentDisposition := 'inline';
bmppart.ExtraHeaders.Values['content-id'] := 'pope.jpg';
bmppart.DisplayName := 'pope.jpg';
bmppart := TIdAttachment.Create(email.MessageParts, filename1);
bmppart.ContentType := 'image/jpeg';
bmppart.FileIsTempFile := false;
bmppart.ContentDisposition := 'inline';
bmppart.ExtraHeaders.Values['content-id'] := 'tlo.bmp';
bmppart.DisplayName := 'tlo.bmp';
try
idSMTP.Connect();
try
idSMTP.Send(email);
label4.Caption:='Wiadomość została pomyślnie wysłana';
except
on E: Exception do begin
ShowMessage('Błąd: ' + E.Message);
label4.Caption:='';
end; end;
finally
idSMTP.Disconnect();
email.Free();
html.Free();
end;
end;
Co mam nie tak? Jak by się ktoś zlitował i przeanalizował kod, byłbym wdzięczny.
Dzięki.
Pozdr, Pepe