【发布时间】:2019-01-01 04:40:19
【问题描述】:
我已经设置了我的 Mailgun 域来跟踪我的 Laravel 应用程序发送的电子邮件的打开和点击。
现在我想设置webhooks 来接收这些事件的通知。
我特别想知道事件类型(例如打开、单击、失败等)、主题、收件人电子邮件地址,以及理想情况下的邮件正文(尽管不是必需的)。对于“点击”事件,我还想查看被点击链接的 URL。
我看到 Event data 的哪些字段由 webhook 发送,与 Amazon SES 不同,Mailgun 的 webhook 不似乎包含电子邮件主题或正文。
webhook 提供如下数据:
"message": {
"headers": {
"message-id": "f9bxxxxx1e30e7278f5fe75f50741fb3@swift.generated"
}
}
所以在我看来,我似乎需要去我的应用程序中发送电子邮件的每个地方,并添加额外的功能来将电子邮件的详细信息以及每条消息的the unique Mailgun message-id 保存到我自己的数据库中发送后。
然后,当接收 webhook 时,我会在我自己的数据库中搜索消息 ID,并可以看到我存储的主题和正文。
这似乎是一个可怕的麻烦和糟糕的设计,尤其是考虑到其他服务(例如 SES)会在 webhook 中为我提供电子邮件主题。
是否有更简单的方法让我了解哪些电子邮件被打开或点击(当我收到有关打开或点击事件的 Mailgun webhook 时)?
(我是不是误会了什么,或者我真的需要改造我的整个应用程序才能利用 Mailgun 中的开放式跟踪功能吗?)
【问题讨论】:
-
你是对的,在你的数据库上保留一份电子邮件副本是一个可怕的糟糕主意。
-
@FaizKhan 是的,我已经花了很多时间阅读文档。