📩

SendGridでGlobal Unsubscribeでも強制的にメールを送る方法

2022/08/14に公開

SendGridの持つ機能を使って比較的簡単にメールの配信停止機能を作ることが出来ます。
メールのグループごとに配信停止をコントロールすることも可能です。
やり方などは以下のリンクが参考になります。(今回紹介したいのは、配信停止になっていても強制的に送る方法なので、割愛します。)

配信停止画面

SendGridの用意してくれた特定のグループのみを配信停止する配信停止用の画面がありますが、そこから
以下のような配信停止の設定の画面にも飛ぶことができます。
optout
またOpt Out of All Emailsをクリックすると、Global Unsubscribeという全てのメールを配信停止にする設定になります。

こうなると困るのが、パスワードリセット通知などのユーザーに届ける必要のあるメールまで届かなくなってしまうことです。

強制的に送る方法

強制的に送る方法としては、リクエスト時のパラメータのmail_settingsbypass_list_managementenabletrueにすることです。
サンプルコードは以下です。

sample.js
const sgMail = require('@sendgrid/mail')
sgMail.send({
  //他の設定は割愛してます。
  mail_settings: {
    bypass_list_management: {
      enable: true,
    },
  },
})

参考

https://sendgrid.kke.co.jp/docs/API_Reference/Web_API_v3/Mail/index.html#-Request-Body-Parameters

Discussion