Autor |
Beitrag |
mk3
      
Beiträge: 36
|
Verfasst: Fr 08.08.03 09:32
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
      
Beiträge: 1448
Erhaltene Danke: 3
W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
|
Verfasst: 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 
      
Beiträge: 36
|
Verfasst: 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
      
Beiträge: 470
Mac OS 10.3.1
Delphi 6 Pro, Kylix 3
|
Verfasst: Mi 13.08.03 10:30
oder mach doch gleich <IFRAME><IMG src="cid:0546-0058-0C-08-TJ-1"></IFRAME>

|
|
mk3 
      
Beiträge: 36
|
Verfasst: 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
      
Beiträge: 1448
Erhaltene Danke: 3
W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
|
Verfasst: 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 
      
Beiträge: 36
|
Verfasst: 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
      
Beiträge: 1448
Erhaltene Danke: 3
W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
|
Verfasst: 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
      
Beiträge: 43
XP Home
D2005
|
Verfasst: Mi 01.09.04 14:23
hi, wen es nach einem jahr noch interessiert, ich hatte das selbe ziel wie mk3 undhabe es erreicht.
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
_________________ [size=10:8b472be373]Wer anderen eine Grube gräbt hat Gold im Mund.[/size:8b472be373]
|
|
|