在Mailgun中获取打开或单击的电子邮件的主题

时间:2019-01-01 04:40:20

标签: laravel laravel-5 mailgun

我已经设置了Mailgun域来跟踪Laravel应用发送的电子邮件的打开和点击。

现在,我想设置webhooks来通知这些事件。

尤其是,我很想知道事件的类型(例如,打开,单击,失败等),主题,收件人电子邮件地址,以及理想情况下的消息正文(尽管不是必需的)。对于“点击”事件,我还想查看被点击的链接的URL。

我看到Webhook发送了Event data的哪些字段,与Amazon SES不同,Mailgun的webhooks似乎没有包括电子邮件的主题或正文。

webhook提供了如下数据:

"message": {
    "headers": {
        "message-id": "f9bxxxxx1e30e7278f5fe75f50741fb3@swift.generated"
    }
}

因此,在我看来,我需要某种方式去发送电子邮件的应用程序中的每个位置,并添加其他功能以将电子邮件的详细信息以及每个电子邮件的the unique Mailgun message-id保存到我自己的数据库中邮件发送后立即发送。

然后,当接收到Webhook时,我将在自己的数据库中搜索message-id,然后可以看到存储的主题和正文。

这似乎是一个麻烦而又糟糕的设计,尤其是考虑到其他服务(例如SES)会在网络挂钩中为我提供电子邮件主题。

是否有一些更简单的方法让我知道哪些电子邮件已打开或被单击(当我收到有关打开或单击事件的Mailgun Webhook时)?

(我误会了什么,还是真的需要改造我的整个应用程序才能利用Mailgun中的开放跟踪功能?)

1 个答案:

答案 0 :(得分:0)

这是我从help@mailgun.com收到的正式回复:

  

您的假设正确,Opened和Clicked事件不正确   包含发起跟踪的邮件的主题行   事件。

     

当前,“点击和打开”跟踪链接不会跟踪   它正在跟踪的邮件的主题行。跟踪链接编码   邮件ID,收件人,域,收件人变量和其他   将跟踪地址链接回您的帐户的专有数据。   向跟踪链接添加其他数据将导致该链接   增加链接的长度,并可能将链接标记为   收件人垃圾邮件过滤器可疑或“垃圾邮件”。

     

目前,尚无计划更改Clicked和   已开启的活动,但我们设置了一个页面来接收反馈/功能   http://mailgun.uservoice.com/的请求。随时提交   请求。其他用户可以支持该请求,我们的开发人员将   审查请求并考虑到将来   产品的版本。

他们的这种借口令人沮丧,因为这是一个谎言:URL的长度与他们是否可以在网络挂钩中报告主题(以及电子邮件的任何其他属性)无关。

Mailgun期望用户执行的操作正是Mailgun 可以执行的操作,但是选择不执行以下操作:将多余的数据与message-id一起存储在数据库中,然后使用可跟踪的message-id链接以获取用于Webhook的额外数据。

我将切换到Mailgun以外的提供商,尤其是现在我还 得知Hotmail,MSN和Live.com都拒绝了我的Mailgun电子邮件。