【问题标题】:How to improve email robustness? [mailgun, laravel]如何提高电子邮件的健壮性? [邮筒,laravel]
【发布时间】:2020-07-17 02:52:09
【问题描述】:

我计划使用以下方式来提高电子邮件的稳健性。我正在使用laravelmailgun。如果有任何 退回电子邮件mailgun 中,那么我想将其发送给与电子邮件相关的人(而不是发送给之前的接收者,并且它与之前的发件人或某人相关),以便我打算使用任务计划程序并每小时安排一次此过程。该电子邮件发送成功后,我想从mailgun 中删除该电子邮件。

我实际上想知道如何实现从mailgun 获取退回电子邮件,如果使用任务调度程序成功发送,我想从mailgun 中删除该电子邮件。如果有任何样本可以实现这一目标?还是有什么不同的想法?

【问题讨论】:

    标签: laravel mailgun laravel-mail


    【解决方案1】:

    通常,当退回邮件发生时,Mailgun 等提供商会根据退回邮件的状态/类型重试几次。在未能发送到该电子邮件地址后,Mailgun 会将该地址放入您的退回列表,以避免将来发送到该地址。尝试将电子邮件发送到不存在的地址、收件箱已满、域已过期等确实没有意义。因此,在考虑这样做之前,也许您应该查看您的退回列表。 Mailgun 的仪表板提供了它发生的描述和日期。如果您想再次发送到特定地址,您可以从退回列表中删除该地址。更多关于退回邮件here

    您可以使用mailgun-php 或简单地使用Guzzle 拨打他们的API 来检索您的退回邮件。我不确定我删除电子邮件是什么意思,但希望这会有所帮助。

    编辑:

    如果您需要原始内容,您可以使用他们的 API 获取您所有的 bounces,以及 message content(保留取决于您的计划或设置)。您也可以使用他们的webhooks 来获取失败的电子邮件,因此您实际上不需要调度/cron。

    编辑 2:

    退回列表仅存储以前退回的电子邮件的电子邮件地址。另外,我刚刚意识到,如果您每小时检查一次退回的邮件,看起来抑制/退回 API 不会有太大帮助,因为您无法知道邮件是否已针对列表中的地址失败。这是退回列表中的唯一数据:

          {
            "address": "alice@example.com",
            "code": "550",
            "error": "No such mailbox",
            "created_at": "Fri, 21 Oct 2011 11:02:55 GMT"
          },
    

    看来您必须使用events APIwebhooks 来获取失败的消息。 前段时间我使用过mailgun-php,我发现由于类的受保护属性,在该库上使用事件并不容易。因此,如果您遇到问题,也许只需使用 Guzzle 或使用 webhook 方法。

    【讨论】:

    • 嘿@sykez 感谢您的回答。现在我更新了我的问题,请你再看一遍。现在我想它会充分说明我想尝试什么。您能否更新您对此的答案(如果您想更改任何内容)
    • @Dev 我明白了。如果不是给原来的收件人,应该没问题。我已经用更多选项更新了我的答案。但是,我仍然不太明白您从 Mailgun 中删除电子邮件是什么意思。如果您在谈论消息内容,他们只会根据您的计划/设置根据您的保留限制存储它们,所以我认为您真的不需要担心。
    • 实际上我计划使用任务调度程序每隔一小时检查一次电子邮件退回,并按照我提到的方式发送。如果那个特定的退回电子邮件相关的事情按照上述方式发送成功。然后我认为退回列表中不需要相关的电子邮件内容。所以我想从列表中删除它。你没事吧?
    • 目前我有没有注册卡的mailgun帐户,所以如何将它用于我的本地开发目的。例如,我当前的本地应用程序 url 看起来像 https://app.laraapp.test/。如何用这个任何想法做以上事情?或任何首选资源? @sykez 谢谢。
    • @Dev 退回列表只是地址列表。我认为您仍然应该将地址保留在退回列表中以避免 Mailgun 继续发送,除非该地址现在工作正常。无论如何,您应该定期查看您的退回列表。至于邮件内容,你可以留着,让 Mailgun 自己留着。顺便说一句,我已经用更多信息更新了我的答案。
    猜你喜欢
    • 1970-01-01
    • 2020-09-29
    • 1970-01-01
    • 2013-01-24
    • 2018-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-18
    相关资源
    最近更新 更多