有没有一种方法可以从调用mailgun API的地方跟踪IP地址

时间:2020-09-08 20:13:09

标签: php laravel mailgun

我们正在使用Mailgun与Laravel进行电子邮件发送,目前面临每天发送电子邮件的问题。有四个站点实例,无法跟踪从哪里发送电子邮件。

那么我们有什么方法可以从Mailgun API调用的地方跟踪IP地址?

1 个答案:

答案 0 :(得分:1)

向mailgun电子邮件添加自定义标头

我认为最好的方法是使用h:选项用自定义标头标记邮件:

curl -s --user 'api:YOUR_API_KEY' \
    https://api.mailgun.net/v3/YOUR_DOMAIN_NAME/messages \
    -F from='Sender Bob <sbob@YOUR_DOMAIN_NAME>' \
    -F to='alice@example.com' \
    -F subject='Hello' \
    -F text='Testing some Mailgun awesomness!' \
    -F h:X-Sender-Reference='server3'

这样,您可以在事件日志中看到X-Sender-Reference自定义标头,以了解哪个服务器发送了消息。

请记住,接收者也可以查看这些标头,因此请不要暴露敏感信息。

取决于您的库,可以使用类似以下的内容:

$headers = $message->getHeaders();
$headers->addTextHeader('X-Sender-Reference', 'server3');

请参阅:https://documentation.mailgun.com/en/latest/api-sending.html#sending

标记mailgun电子邮件

还可以使用o:标记邮件:

curl -s --user 'api:YOUR_API_KEY' \
    https://api.mailgun.net/v3/YOUR_DOMAIN_NAME/messages \
    -F from='Sender Bob <sbob@YOUR_DOMAIN_NAME>' \
    -F to='alice@example.com' \
    -F subject='Hello' \
    -F text='Testing some Mailgun awesomness!' \
    -F o:tag='September newsletter' \
    -F o:tag='server3'

每封邮件允许的标签限制为 3 ,我认为目的是营销汇总。从技术上讲,可以使用与上面示例中的自定义标头相同的方式来使用它。

某些PHP库可能以这种方式使用:

$headers = $message->getHeaders();
$headers->addTextHeader('X-Mailgun-Tag', 'server3');

请参阅:https://documentation.mailgun.com/en/latest/user_manual.html#tagging