Ich brauche Bilder in einer E-Mail einzubetten und die E-Mail-Vorschau, bevor es in Outlook gesendet wird. CDO und Rückzahlung ist keine Option.Einbetten Bild Outlook erweitert mapi Funktionen
Ich habe den folgenden Code versucht, aber die Bilder erscheinen nur als kleinen Block.
procedure AddAttachment(FullFileName: String; Attachments: Outlook2000.Attachments; CID: String);
const
PR_ATTACH_CONTENT_ID = $3712001E;
PR_ATTACH_CONTENT_ID_W = $3712001F; // Unicode
PR_ATTACH_MIME_TAG = $370E001E;
PR_ATTACH_ENCODING = $37020102;
var
IAttach: IMAPIProp;
Prop: PSPropValue;
AAttachment: Outlook2000.Attachment;
FileName: String;
PropValue: TSPropValue;
Prop1: TSPropTagArray;
begin
FileName := ExtractFileName(FullFileName);
Prop := nil;
try
AAttachment := Attachments.Add(FullFileName, olByValue, 1, FileName);
IAttach := AAttachment.MAPIOBJECT as IMAPIProp;
if Assigned(IAttach) then
try
PropValue.ulPropTag := PR_ATTACH_MIME_TAG;
PropValue.Value.lpszA := 'image/jpeg';
HrSetOneProp(IAttach, @PropValue);
PropValue.ulPropTag := PR_ATTACH_CONTENT_ID;
PropValue.Value.lpszA := PAnsiChar(AnsiString(CID));
HrSetOneProp(IAttach, @PropValue);
finally
if Assigned(Prop) then MAPIFreeBuffer(Prop);
IAttach := nil;
end;
except
end;
end;
Verwenden Sie HTML-Format? Verwenden Sie eine CID-URL für das eingebettete Bild? – Ben
@Ben Sollte er HTML-Format verwenden? Gibt es eine Lösung mit einer CID-URL? Ich bin sicher, er wird verwenden, was auch immer Ihre Antwort gibt - solange Sie MAPI verwenden und es funktioniert, wenn der E-Mail-Client des Benutzers Outlook ist. –
@IanBoyd, ich erwarte, dass er ** eine CID URL benutzt * jetzt weiß er von ihnen * ... – Ben