![]() |
html mail unter delphi mit Bitmaps versenden
hallo, wie kann ich unter delphi/indy nachrichten verschicken, die ein Bitmap enthalten und direkt beim Aufruf unter Outlook angezeigt werden?
[delphi]procedure TDataModule1.SendMail(const AFrom, ATo, ASubject, AMsg, AServer: string); begin with mesgMessage do begin Clear; From.Text := AFrom; Recipients.Add.Text := ATo; Subject := ASubject; Body.Text := AMsg; // mesgMessage.Body.LoadFromFile('C:\Temp\lab.html'); TIdAttachment.Create(mesgMessage.MessageParts, 'C:\Temp\LAB.html'); TIdAttachment.Create(mesgMessage.MessageParts, 'C:\Temp\barcode.bmp'); end; { TODO : wieder unkommentieren } with smtpSendMail do begin Host := AServer; AuthenticationType := atLogin; Username := 'pc1'; Password := 'michael3'; Connect; try Send(mesgMessage); finally Disconnect; end; end; formSendMail.Completed; end; so sieht heute die LAB.html aus! [html] <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"> <TITLE> Lieferabruf </TITLE> </HEAD> <body text="#000000" bgcolor="#ffffff"> [img]file:///barcode.bmp[/img] Sehr geehrte Damen und Herren, anbei übersenden wir folgenden KANBAN Abruf: Lieferant : KS-Lager Artikel : 01.11.5100 Bezeichnung : VM Befestigungssatz 505 Barcode Nummer : 4019443128932 Stückzahl : 400 Ladungsträger : SK2 B1 Kunde : KS-Montage Anlieferadresse : Regal Platten sonstiges </BODY> </HTML> |
Re: html mail unter delphi mit Bitmaps versenden
[Snob-Ton]Deine Delphi-Tags sind nich korrekt gesetzt[/Snob-Ton] :mrgreen:
|
Re: html mail unter delphi mit Bitmaps versenden
Hi !
Hier meine Routine zum versenden von Mail direkt mit INDY:
Delphi-Quellcode:
Hoffe es hilft dir weiter !!!
function SendHTMLEMailDirect(empfaenger, betreff, HTMLText : string): byte;
var IdMessage : TIdMessage; IdSMTP : TIdSMTP; i,x,y : integer; img : string; ContentID : integer; begin result:=0; try IDMessage := TIdMessage.Create(Application.MainForm); IdSMTP := TIdSMTP.Create(Application.MainForm); // als erstes muss!!! ein einfacher Text "text/plain" kommen! IdMessage.Body.Text := 'Diese E-Mail wurde im HTML-Format versendet'; with TIdText.Create(IdMessage.MessageParts) do begin ContentType := 'text'; Body.Text := 'Diese E-Mail wurde im HTML-Format versendet'; end; //Alle img-Tags verarbeiten ContentID:=10001; y:= pos('<IMG',UpperCase(HTMLText)); while y>0 do begin i:= PosEx('SRC="',UpperCase(HTMLText),y); if i>0 then begin x:=PosEx('"',HTMLText,i+6); img:=copy(HTMLText,i+5,x-i-5); delete(HTMLText,i+5,x-i-5); insert('cid:'+IntToStr(ContentID)+'@'+ExtractFileName(img),HTMLText,i+5); //IMG als Attachment anfügen with TIdAttachment.Create(IdMessage.MessageParts, img) do begin // hier wird diese CONTENT-ID definiert! ExtraHeaders.Values['Content-ID'] := IntToStr(ContentID)+'@'+ExtractFileName(img); end; inc(ContentID); end; y:=PosEx('<IMG',UpperCase(HTMLText),y+1); end; //HTML-Message erzeugen with TIdText.Create(IdMessage.MessageParts) do begin ContentType := 'text/html'; Body.Add(HTMLText); end; //Empfänger und Sender IdMessage.Subject := betreff; IdMessage.From.Address := 'absender@meinedomain.de'; IdMessage.From.Name := 'Name des Absenders'; IdMessage.ReplyTo.EMailAddresses := 'antwort@meinedomain.de'; IdMessage.Recipients.EMailAddresses:=empfaenger; IdSMTP.Host:='host'; IdSMTP.Username:='Username'; IdSmtp.Password:='Passwort'; IdSMTP.Port:=25; IdSMTP.AuthenticationType:=atLogin; IdSMTP.Connect; if IdSMTP.Authenticate then begin IdSMTP.Send(IdMessage); ShowMessage('Mail wurde erfolgreich versendet !'); end else ShowMessage('Authentication failed !'); IdSMTP.Disconnect; finally IDMessage.Destroy; IdSMTP.Destroy; end; end; Gruß, Helld |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz