如何在mailgun中重新发送丢失的电子邮件?
我正在使用 mailgun 在我的应用程序中发送邮件,但有些邮件被丢弃了。有什么方法可以重新发送丢弃的邮件吗?
如何在mailgun中重新发送丢失的电子邮件?
我正在使用 mailgun 在我的应用程序中发送邮件,但有些邮件被丢弃了。有什么方法可以重新发送丢弃的邮件吗?
您可以通过他们的控制面板和他们的API使用 Mailgun 重新发送消息。但它仅适用于关联事件类型为“已交付”或“永久失败”且不超过您域的邮件保留期(我认为大多数为 3 天)的邮件。
接口:
查看他们的文档:
curl -s --user 'api:YOUR_API_KEY' \
https://se.api.mailgun.net/v3/domains/YOUR_DOMAIN_NAME/messages/STORAGE_URL \
-F to='bob@example.com'
控制面板:
日志页面允许直接在 UI 中重新发送单个消息。只需登录您的 Mailgun 帐户并转到“日志”选项卡。单击任何合格消息的下拉菜单齿轮,您将在菜单中看到一个名为“重新发送消息”的选项
单击它将导致出现一个小弹出窗口,您可以在其中输入单个收件人地址。
不完全是你想要的,但我有同样的问题,并要求他们的支持寻求帮助。我想注意他们的服务,我会在接下来的 5 分钟内得到答案。
解决方案: 您可以向他们的 API 发送请求以获取退回列表,然后通过解析响应 JSON 手动重新发送。它包括错误和代码,您可以参考这些代码来决定是否包含此电子邮件地址。
Mailgun 似乎不支持重新发送消息的简单方法,因此我不得不编写一个复杂的脚本来执行此操作。这是我的步骤:
1) 从中获取错误事件https://api.mailgun.net/v3/{domain}/events?event=rejected+OR+failed
2)在错误事件内部,有如下所示的存储信息:
"storage": {
"url": "https://se.api.mailgun.net/v3/domains/{domain}messages/{some-key}",
"key": "some-key"
}
3) 使用存储 URL 获取存储详细信息。在这里,您将找到重建消息所需的有关消息的所有信息,包括:to
、from
、subject
、body-html
、reply-to
等等attachments
。
4) 使用 Mailgun 的消息端点重新发送消息:https://api.mailgun.net/v3/{domain}/messages
当我有时间时,我会清理我的 C# 实现并在 GitHub 上开源它。
文档中有关如何重新发送消息的示例:
curl -s --user 'api:YOUR_API_KEY' \
https://se.api.mailgun.net/v3/domains/YOUR_DOMAIN_NAME/messages/STORAGE_URL \
-F to='bob@example.com'