Entwickler-Ecke
Internet / Netzwerk - HTML-Email mittels MAPI verschiecken
mk3 - Fr 08.08.03 09:32
Titel: HTML-Email mittels MAPI verschiecken
Hallo!
Ich will HTML-Text mit Bildern in Email Body verschicken.
Jedes Bild muss aber mit einer Content-ID, was in Header der Email steht referenziert werden. Wie kann ich diese Content-ID rausfinden oder soll ich sie selber im Header setzen, dann wie?
Sollen die Bilder auch als Anhänge hingefügt werden oder nicht?
Ich kann niergendwo die Info zu diesem Thema finden, nur über den einfachen Text als Email.
Danke im voraus für jeden Hinweis!
MSCH - Di 12.08.03 19:00
ändere mal dein Topic !!
Weil; Mapi ist Microsoft/Exchange/Outlook und nicht gerade einfach und hat damit nicht viel zu tun.
Du musst die Bilder in der Message als Attachment mit versenden. Schau dir doch einfach mal eine Mail an, die sowas hat (im Quelltext). Jede gute POP/SMTP Komponente kann sowas heutzutage.
grez
msch
mk3 - Mi 13.08.03 10:11
Na ja, ich will nähmlich über Microsoft/Exchange verschicken und dabei auch MAPI benutzen. Deshalb frage ich auch danach und nicht nach POP/SMTP Komponenten.
Und wenn ich die Bilder im Attachment verschicke, dann werden sie auch in Attachment angezeigt. Ich will aber, dass die Bilder in HTML-Text angezeigt werden, genau an der Stellen, wo sie sein sollen.
Quelltext von einer Email steht:
...
<DIV><IMG src="cid:0546-0058-0C-08-TJ-1"></DIV>
...
in Header steht:
...
Content-Type: application/octet-stream; name="img1.jpg"
Content-Transfer-Encoding: base64
Content-ID: <0546-0058-0C-08-TJ-1>
...
Meine Frage ist nähmlich, wie ich diese Content-ID rausfinden. Soll ich sie selber setzen oder wie geht's?
Sonst werden die Bilder nicht angezegt.
mfg
mk
lemming - Mi 13.08.03 10:30
oder mach doch gleich <IFRAME><IMG src="cid:0546-0058-0C-08-TJ-1"></IFRAME>
;)
mk3 - Mi 13.08.03 14:00
Es geht doch sehr einfach.
als HTMLBody schreibt man:
...
<DIV><IMG cid="img.jpg"></DIV>
...
also, Dateinamen ohne Pfad. Und das Bild fügt man als Attachement hinzu.
Dann werden die Bilder im Text richtig angezeigt, aber die werden auch als Attachements dabei, was ich eingentlich nicht will.
Ich wundere mich aber, dass niemand mir helfen konnte!
Mfg
mk
MSCH - Mi 13.08.03 18:22
mk3 hat folgendes geschrieben: |
...
Dann werden die Bilder im Text richtig angezeigt, aber die werden auch als Attachements dabei, was ich eingentlich nicht will.
...
|
woher soll dann der Mailempfänger wissen, wo die Bilder sind, wenn nicht als Attachments ?
Zitat: |
Ich wundere mich aber, dass niemand mir helfen konnte! |
Tja, vielleicht liegts an der Fragestellung?
grez
msch
mk3 - Mi 13.08.03 22:30
Wenn ich aus Outlook an mich selbst Email mit HTML-Text schicke, dann bekommen ich diese Email und HTML-Text wird richtig angezeigt, alle Bilder an ihren Stellen. Ich habe diese Bilder NICHT als Anhänge dabei.
Mit MAPI, wie oben beschrieben, werden die Bilder SOWOHL im Text angezeigt ALS AUCH alle einzeln im Anhang. Und das wollte ich nicht. Ich will nur HTML-Text, keine extra Anhänge.
mk
MSCH - Do 14.08.03 12:28
lange rede kurzer Sinn, schau dir mal das Mapi-Protokoll sowie HTML Defininitionen zu Graphiken (<img> Tag) an, oder speicher einfach mal die E-Mail als HTML Datei ab. Die Graphiken sind dann verschwunden (Platzhalter).
Ist leider nicht so offensichtlich, aber Outlook kann ne Menge verbergen, gerade was die Versendung von HTML Mails betrifft.
grez
msch
vsti - Mi 01.09.04 14:23
hi, wen es nach einem jahr noch interessiert, ich hatte das selbe ziel wie mk3 undhabe es erreicht.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42:
| procedure TForm1.Button1.Click(Sender: TObject); var Att: TIDAttachment; Text: TIDText; begin try idSMTP.Host := 'smtp.bla.de'; idSMTP.UserID := 'bla'; idSMTP.Password := 'bla'; idSMTP.Port := 25;
idMessage1.Recipients.EMailAddresses:= '123@456.de'; IdMessage1.Subject:= 'test';
Text:=TidText.Create(IdMessage1.MessageParts); Text.ContentType:= 'text/plain;'; Text.Body.Text:= 'Dies ist eine HTML-Mail.';
Text:=TidText.Create(IdMessage1.MessageParts); Text.ContentType:= 'text/html;'; Text.Body:= '<IMG src="cid:c:\logo.gif">';
if (pos('.jpg',Edit1.Text)=(length(edit1.Text)-3)) or (pos('.gif',Edit1.Text)=(length(edit1.Text)-3)) or (pos('.bmp',Edit1.Text)=(length(edit1.Text)-3)) then begin Att:=TIDAttachment.Create(IdMessage1.MessageParts,Edit1.Text); Att.ContentDisposition := 'inline'; Att.ExtraHeaders.Values['content-id']:= 'logo.gif'; end;
idSMTP.Connect; try idSMTP.Send(IdMessage1); ShowMessage( 'Email gesandt'); finally idSMTP.Disconnect; end; finally IdMessage1.Free; end; end; |
hav phun
greez, vsti
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!