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

时间:2015-09-16 14:10:58

标签: rest sendmail mailgun email-spec

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

我使用mailgun在我的应用程序中发送邮件,但有些邮件被删除了。是否有任何方法可以重新发送丢弃的邮件?

4 个答案:

答案 0 :(得分:8)

Mailgun现已将此作为中的新功能其控制面板并通过其API 发布。但它仅适用于具有相关事件类型“已发送”或“永久失败”并且也不超过3天的邮件。

<强> API:

此功能的公共API尚未发布,但已在路线图上发布。

控制面板:

“日志”页面现在允许直接在UI中重新发送单个消息。只需登录您的Mailgun帐户,然后转到Logs标签即可。单击任何符合条件的消息的下拉菜单,您将在菜单中看到一个名为“重新发送消息”的新选项

enter image description here

单击该按钮将会显示一个小弹出窗口,您可以在其中输入单个收件人地址。

enter image description here

答案 1 :(得分:5)

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

解决方案: 您可以向其API发送请求以获取跳出列表,并通过解析响应JSON手动重新发送它们。它包括错误和您可能参考的代码,用于决定是否包含此电子邮件地址。

Mailgun documentation on bounces API request

答案 2 :(得分: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-html,{{1} },reply-to等等。

4)使用Mailgun的消息端点重新发送消息:attachments

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

答案 3 :(得分:0)

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

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'