我尝试了以下代码,但图像只显示为一个小块.
procedure AddAttachment(Fullfilename: String; Attachments: Outlook2000.Attachments; CID: String); const PR_ATTACH_CONTENT_ID = 12001E; PR_ATTACH_CONTENT_ID_W = 12001F; // Unicode PR_ATTACH_MIME_TAG = 0E001E; PR_ATTACH_ENCoding = 020102; 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;解决方法 发问者尚未发布他的HTML文本.我怀疑问题是他的CID网址格式不正确 – 无论我没有测试过这个问题.
如果Content-ID标头设置为:
Content-Type: image/jpegContent-disposition: inlineContent-ID: afd383988e86ad958709@u
那么HTML应该像这样引用它:
<img wIDth="100" height="100" href="cID:afd383988e86ad958709@u" />
特别是,cID URL必须具有前缀“cID:”,但content-ID标头不能. (guID对于content-ID是一个很好的选择,除了它必须包含一个@符号.为了遵守,你可以将’@ u’附加到guID.)
这足以让电子邮件在接收端正确显示.在发送之前是否会在outlook中正确预览,我不知道.
您可能还希望看到这个问题:
> Embedding images into html email with java mail
总结以上是内存溢出为你收集整理的delphi – 使用扩展的mapi函数将图像嵌入到Outlook中全部内容,希望文章能够帮你解决delphi – 使用扩展的mapi函数将图像嵌入到Outlook中所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)