使用Outlook发送电子邮件时,您可以选择RTF格式而不是HTML格式,从而允许您在电子邮件正文中嵌入PDF内联附件。当您附加多个文件并希望在正文中引用它们时,这非常方便。如果您在Outlook中选择HTML格式,则不再可能,并且附加图像显示在电子邮件正文之外(如“普通”)。
我正在以编程方式发送电子邮件,并想知道是否可以以某种方式在电子邮件正文中嵌入附件。 You can do this with images,使用<img src="cid:image_id@somethingorother" />
之类的标记引用多部分电子邮件中的嵌入图像。有没有办法用其他类型的附件做到这一点?
我主要感兴趣的是我使用Outlook作为邮件客户端向同一个MS Exchange电子邮件服务器上的收件人发送电子邮件。有时他们会使用不同的电子邮件客户端,或者从外部发送,如果电子邮件在这种情况下降级为“正常”附件,则可以。
我也可以使用RTF / TNEF格式,但是:
答案 0 :(得分:5)
我决定不那么懒,自己试试......
答案是是,您可以使用<a href='cid:...'> . </a>
标记引用html电子邮件中的非图片附件,Outlook将打开它们。我使用Outlook 2013作为我的电子邮件客户端,使用Office365作为我的服务器;里程因客户和服务器不同而异。 但如果您不使用Outlook,的效果不会很好......
<强>的Gmail 强>
我测试了发送到gmail。内联图像工作正常,但附件不适用。显示<a>
链接但不起作用,如果您使用电子邮件正文中的cid:...
网址引用附件,则即使处置,也不会显示该附件:附件:( gmail iPhone应用程序上的相同行为:内联图片看起来很好,内嵌附件不会显示或从<a>
链接打开。
iPhone Mail
iPhone的邮件应用程序(连接到Office 365)将<a>
标记呈现为链接,但它们无法正常工作。如果您将附件处置设置为&#39;附件&#39; (即不是&#39;内联&#39;)然后附件显示在电子邮件的底部,与在这种情况下隐藏它们的gmail不同。如果您将附件处置设置为&#39; inline&#39;然后它隐藏了附件。
因此,如果你有gmail收件人/电子邮件客户端,你需要做一些不同的事情,甚至可能需要两次附加文件:一次作为处置:内联(链接到正文内)和一次作为处置:附件。令人遗憾的是Gmail没有显示具有处置的附件:附件和使用cid引用,因为这至少意味着有一种方法可以访问它们。如果有人有任何建议请告诉我!
示例代码
这是我用于测试的powershell,使用EWS。它发送带有
的html电子邮件<a>
标记关联并标记为附件的.docx文件。在Outlook中,它显示为附件,也可以从链接访问。在gmail中,这并没有显示,也没有从链接中工作。在iOS Mail中,它显示为附件,但无法从链接访问。<a>
标记相关联。这在Outlook,gmail,iOS Mail中作为附件可见。 powershell:
<a>
还有一些方便的文章: