7

如何在mailgun中重新发送丢失的电子邮件?

我正在使用 mailgun 在我的应用程序中发送邮件,但有些邮件被丢弃了。有什么方法可以重新发送丢弃的邮件吗?

4

4 回答 4

9

您可以通过他们的控制面板和他们的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 帐户并转到“日志”选项卡。单击任何合格消息的下拉菜单齿轮,您将在菜单中看到一个名为“重新发送消息”的选项

在此处输入图像描述

单击它将导致出现一个小弹出窗口,您可以在其中输入单个收件人地址。

在此处输入图像描述

于 2017-07-06T18:15:41.747 回答
6

不完全是你想要的,但我有同样的问题,并要求他们的支持寻求帮助。我想注意他们的服务,我会在接下来的 5 分钟内得到答案。

解决方案: 您可以向他们的 API 发送请求以获取退回列表,然后通过解析响应 JSON 手动重新发送。它包括错误和代码,您可以参考这些代码来决定是否包含此电子邮件地址。

Mailgun 关于退回 API 请求的文档

于 2015-12-15T12:14:18.540 回答
4

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 获取存储详细信息。在这里,您将找到重建消息所需的有关消息的所有信息,包括:tofromsubjectbody-htmlreply-to等等attachments

4) 使用 Mailgun 的消息端点重新发送消息:https://api.mailgun.net/v3/{domain}/messages

当我有时间时,我会清理我的 C# 实现并在 GitHub 上开源它。

于 2017-01-04T10:58:06.807 回答
0

文档中有关如何重新发送消息的示例:

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'
于 2020-10-26T10:25:14.673 回答