如何将共享磁盘中的PDF通过文件路径嵌入HTML邮件正文
问题解答
不能直接通过本地/共享盘文件路径将PDF嵌入HTML邮件正文,具体原因和可行方案如下:
核心原因
所有主流邮件客户端(Gmail、Outlook、国内常见邮箱等)均出于安全策略限制,默认屏蔽所有file://协议的本地/共享盘资源加载,也会拦截<embed>、<iframe>这类可直接加载PDF的标签,就算你在HTML里写了src="T:\你的文件.pdf"或者对应的file协议路径,收件人打开邮件时也完全看不到对应内容。
可行替代方案
- 方案1:将PDF转为图片后嵌入正文
你可以沿用之前嵌入图片的开发逻辑,先通过Python的pdf2image库把PDF逐页转为图片,再把图片以base64编码、或者CID内嵌附件的形式插入HTML正文即可,示例引用格式为<img src="cid:pdf_page_1">,该方案兼容性高,大多数客户端都能正常展示。 - 方案2:将PDF作为邮件附件发送
这是兼容性最好的方案,你可以直接把生成的PDF添加为邮件附件,同时在HTML正文里添加提示文字引导收件人查看附件,不需要额外做格式转换,也不会出现展示异常问题。 - 方案3(仅内部同域场景适用):上传到内网静态资源服务器
如果所有收件人均属于同一内网,且都具备T盘资源的访问权限,可以把PDF上传到内网支持HTTP访问的静态资源服务,用内网HTTP链接作为src属性值,用法和你之前用在线图片资源的逻辑完全一致。
内容的提问来源于stack exchange,提问作者smitty_werben_jagerm
相关产品推荐
相关产品推荐

