编程语言
首页 > 编程语言> > php – Mailgun track unique打开

php – Mailgun track unique打开

作者:互联网

刚刚通过其API测试了邮件.

一切都很好.

简短:如何通过webhook跟踪特定邮件的唯一打开.

(不一定相关,但对于completness我使用Yii2 PHP框架 – 没有扩展,只是从mailgun快速启动php代码)

电子邮件将被发送并跟踪打开的事件.
但我发现它跟踪同一邮件的每一次打开.

那么跟踪特定邮件是否被打开的最佳方式是什么(通过webhook).哪些数据最适合识别特定电子邮件或更好地在发送时使用“自定义变量”?

解决方法:

好吧,我认为我有一个可接受的工作流程 – 通过“自定义变量”.

您可以为每个收件人定义不同的值,这样您就可以发送唯一ID,然后在打开的事件上跟踪该ID.只需为每个发件人保存一个或更新开放时间.

我的发送代码(PHP):

$result = $mg->sendMessage($domain, array(
            'from'    => 'foo@bar.de>',
            'to'      => 'recipient1@mail.de, recipient2@mail.de',
            'subject' => 'Hello %recipient.first% from %recipient.group%!',
            'text'    => 'Test of Mailgun',
            'html'    => '<html>It is so simple to send a message.<br/>Right?</html>',
            'o:tag'   => array('test'),
            'o:tracking-opens' => 'yes',
            'v:my-custom-data' => '{"my_message_id": %recipient.id%}',
            'recipient-variables' => '{
                "recipient1@mail.de": {"first":"Recipient1", "group":"group1", "id":1},
                "recipient2@mail.de": {"first":"Recipient2", "group":"group2", "id":2}
            }'
));

然后在每个事件中,您都会获得具有唯一ID的响应.

打开第一封电子邮件:

"user-variables": {
    "my-custom-data": "{\"my_message_id\": 1}"
},

打开第二封电子邮件:

"user-variables": {
    "my-custom-data": "{\"my_message_id\": 2}"
},

标签:php,yii2,mailgun
来源: https://codeday.me/bug/20190623/1271352.html