mailgunのEvent APIによるメールのトラッキングをrubyで実装する

Mailgun at Partner Palooza

 

mailgunでは送信したメールをトラッキングしてくれる機能が標準でついており、APIを使う事によってステータスを取得する事ができます。

 

そこで送信したemailの状態を確認するEvent APIを利用してデータを取得する処理をrubyで実装してみました。

 

コード

 

sample ruby code of mailgun tracking

 

注意点

1. 開封(open)をトラッキングするには別途設定が必要

ドキュメントには下記のように記載されています。

 

The email recipient opened the email and enabled image viewing. Open tracking must be enabled in the Mailgun control panel, and the CNAME record must be pointing to mailgun.org.

CNAMEの設定(向き先は mailgun.org)とtracking settingで「Open Tracking」をONにする必要があるのでこちらを忘れずにやっておきましょう。

 

2. idのユニーク性は1日という期間でしか保証されていない

こちらもドキュメントには

Event id. It is guaranteed to be unique within a day. It can be used to distinguish events that have already been retrieved when requests with overlapping time ranges are made.

と記載されています。気をつけましょう。

 

3. 一回のリクエストで取得できる件数の上限は300

300より大きい数にすると怒られます

 

 

参照

ラッキングの仕様については下記に記載してあります。

Events — Mailgun API documentation

 

簡易的な内容ですがさっと読みたい場合はこちらを。

How to start tracking email events — Mailgun API documentation