在Mailgun中检索包含广告系列ID的电子邮件

时间:2016-05-09 01:38:54

标签: php codeigniter mailgun

我希望通过Mailgun获取广告系列统计信息,例如点击计数,打开计数等。这在https://documentation.mailgun.com/api-campaigns.html#basic-examples中的“基本示例”中进行了解释。

我发送了一封带有PHP和codeigniter的测试电子邮件。 我检查了Mailgun GUI页面中发送的电子邮件,看到标题是这样添加的(我认为正确):

X-Mailgun-Tag: 3511 (note: I also added tag for testing)
X-Mailgun-Campaign-Id: test-campaign-3511

现在,如果我在Mailgun GUI的搜索框中输入“test-campaign-3511”,它将找不到任何电子邮件。但是,它将使用搜索文本“3511”正确检索此测试电子邮件。因此,它适用于代码,但不适用于广告系列ID。

我最终需要通过PHP获取广告系列统计信息,所以我尝试了这个:

$result = $mgClient->get("$domain/campaigns/test-campaign-3511");

结果是

  

遇到未捕获的异常

     

键入:Http \ Client \ Exception \ HttpException

     

消息:客户端错误:GET https://api.mailgun.net/v2/(my domain)/campaigns/test-campaign-3511导致404 Not Found   回复:{“message”:“未找到广告系列”}

接下来我尝试了没有广告系列ID:

$result = $mgClient->get("$domain/campaigns");

结果:

stdClass Object
(
    [http_response_body] => stdClass Object
        (
            [items] => Array
                (
                )

            [total_count] => 0
        )

    [http_response_code] => 200
)

看起来我无法在那里制作广告系列。有什么我做错了或需要设置除X-Mailgun-Campaign-Id以外的其他内容吗?

1 个答案:

答案 0 :(得分:1)

原来我需要先创建广告系列。

$result = $mgClient->post("$domain/campaigns", array(
        'name' => 'test campaign',
        'id'   => 'my_test_campaign'
    ));