如何在Mailgun中创建“在浏览器中查看”链接?
嘿,我刚好之前也碰到过类似的需求,Mailgun确实没有直接提供开箱即用的「在浏览器中查看邮件」功能,但有几个靠谱的方案可以实现,分享给你:
可行解决方案
方案1:结合Mailgun消息存储+自定义预览页面
- 第一步先在Mailgun控制台开启Message Storage功能(这个功能会保存你发送的所有邮件原始内容)。
- 当你通过API发送邮件后,Mailgun会返回一个
message-id,你可以把这个ID和对应的收件人信息关联存储到自己的数据库中。 - 搭建一个简单的Web页面,后端接收一个唯一访问标识(比如用收件人ID+
message-id生成的哈希值),然后调用Mailgun的GET /messages/{message-id}API获取该邮件的HTML内容,最后在页面里渲染出来。 - 在你的邮件模板里添加一个「在浏览器中查看」的链接,指向这个预览页面并带上那个唯一标识即可。
方案2:预渲染邮件HTML并托管
- 发送邮件前,先用Mailgun的模板渲染API(
POST /templates/{template_name}/versions/{tag}/render),把模板和收件人变量渲染成完整的HTML内容。 - 将渲染好的HTML存储到你的服务器或者云存储服务中,生成一个带过期时间的唯一公开URL(保障访问安全性)。
- 把这个URL直接放到邮件模板的「在浏览器中查看」按钮里,用户点击就能直接在浏览器打开完整邮件。
额外注意点
- 安全性:一定要确保预览链接只能被对应的收件人访问,比如通过签名URL、验证收件人邮箱等方式,防止未授权的人查看邮件内容。
- 样式一致性:邮件HTML在邮件客户端和浏览器中的显示可能有差异,建议用预渲染后的HTML或者从Mailgun存储中获取的原始内容来渲染预览页面,这样能保证显示效果一致。
内容的提问来源于stack exchange,提问作者Tom Maton
相关产品推荐
相关产品推荐

