🙆
Gmail の Postmaster Tools API を使って迷惑メール報告率を監視する
Gmailの規制強化対応の一環で必要になりそうな、迷惑メールの報告率を監視したいので、サクッとまとめとして残す。
API Documentはこれ
やることは
- Google CloudでPostmaster Tools APIを有効にする
- Postmaster Toolsが触れるService Accountを作成する
- Postmaster ToolsにService Accountのメールアドレスを登録する
- コード書く
- Cloud Functionsにデプロイする
- Cloud Scheduler作る
コードはここ
この箇所で使ってるreportDateの日付をずらせば、前日も迷惑メール報告率が0.3%以上で連続していないかとかを監視できそう
const response = await tools.domains.trafficStats.get({
name: `domains/${domain}/trafficStats/${reportDate}`,
})
レスポンスの形式はこんな感じ
{
"name": "domains/YOUR_DOMAIN/trafficStats/20240106",
"userReportedSpamRatio": 0.001,
"domainReputation": "HIGH",
"spfSuccessRatio": 1,
"dkimSuccessRatio": 1,
"inboundEncryptionRatio": 1
}
それぞれのプロパティの意味はこの辺りに
ざっくり説明
- userReportedSpamRatio
スパム報告されたメール件数と受信トレイに送信されたメール件数の比率、DKIMの認証が通ったメールのみ関連する - domainReputation
送信したメールが持つドメインの評判、高いほど良い - spfSuccessRatio
なりすましメールを除外したSPFの認証が成功した割合 - dkimSuccessRatio
なりすましメールを除外したDKIMの認証が成功した割合 - inboundEncryptionRatio
TLSを通過したメール件数と受信トレイに送信されたメール件数の比率、DKIM又はSPFの認証が通ったメールのみ関連する
※なお、記事公開時点(1/13)で3日前のデータまでしか取れず、かつ4~6日前のデータが存在していなかった。
Error: Requested entity was not found.
のエラーが出る場合は、PostmasterToolsのWebコンソールで、その日のデータがあるか見ると大抵ない。
Discussion