Ho bisogno di incorporare le immagini in una e-mail e visualizzare in anteprima l'e-mail prima che venga inviata in Outlook. CDO e Redenzione non sono un'opzione.Incorpora l'immagine in Outlook utilizzando le funzioni mapi estese
Ho provato il seguente codice, ma le immagini appaiono solo come un piccolo blocco.
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;
Si sta utilizzando il formato HTML? Stai usando un URL CID per l'immagine incorporata? – Ben
@Ben Dovrebbe usare il formato HTML? C'è una soluzione che coinvolge un URL CID? sono sicuro che userà qualsiasi cosa dia la tua risposta, a patto che tu stia usando MAPI e funzioni quando il client di posta elettronica dell'utente è Outlook. –
@IanBoyd, mi aspetto che ** sia ** utilizzando un URL CID * ora ne sa di loro * ... – Ben