blastengineはシンプルに使える開発者向けメールサービスを提供しています。何かと面倒なメール配信をシンプルに、かつ確実に送信先に届くようになります。
今回は今開発中のGoogle Apps Script用SDK(以下GAS SDK)を使ってメール送信を行う方法を紹介します。
コードについて
GAS SDKはMIT Licenseのオープンソース・ソフトウェアです。リポジトリは以下にあります。
blastengineMania/blastengine-gas: Google Apps Script向けのblastengine SDKです
ユーザ登録する
blastengineにユーザ登録します。管理画面に入るためのユーザID、パスワードが手に入るので、ログインします(ユーザIDは後で使います)。
送信元ドメインのSPFを設定する
送信元として利用するドメイン(自分で持っているもの)の設定をします。これは任意のドメイン管理サービスで設定できますが、TXTレコードに以下のSPFを追加します。
txt @ v=spf1 include:spf.besender.jp ~all
APIキーを取得する
ログイン後、管理画面の右上にある設定メニューに移動します。
そして設定の中で、APIキーを取得します。
ライブラリIDについて
GASのライブラリIDは 1GvJKygDvrhoq9w1FIRepBo1kAB3yo1LucHtL6CIM-KqmaFaxLUbyBdim
になります。こちらをGoogle Apps Scriptのエディタにて、ライブラリとして登録してください。
1GvJKygDvrhoq9w1FIRepBo1kAB3yo1LucHtL6CIM-KqmaFaxLUbyBdim
今回はIDを Blastengine
として解説します。変更している場合はそれぞれ読み替えてください。
初回実行時の注意
初回実行時には外部URL(blastengineのAPI)にアクセスを許可するダイアログが出ます。なお、この時に以下のような怖いダイアログが出ます。
これはインストール数が増えると消えるらしいのですが、まだ作成したばかりのため表示されてしまうようです。左下にある詳細というリンクから許諾を続行できます。
初期化
先ほど取得したユーザー名とAPIキーを使って初期化します。
Blastengine.init('YOUR_USER_NAME', 'YOUR_API_KEY');
メールオブジェクトの用意
blastengineでは即時配信されるトランザクションメールと、一括配信のバルクメールがあります。執筆時点(2022年4月現在)では、SDKはトランザクションメールのみ対応してます。
const transaction = Blastengine.transaction();
配信元、配信先を設定
件名や宛先などをセットします。
transaction.fromEmail = 'info@example.com';
transaction.setTo('user@example.jp');
transaction.subject = 'Test subject';
transaction.setText('Test body');
送信する
送信を実行します。GASなのでネットワーク処理は同期になります。
const res = transaction.send();
結果の res
には、デリバリーIDが入ってきます。このIDを使って配信状況を確認できます。
console.log(res);
// { delivery_id: 188 }
まとめ
GAS SDKを使えばスプレッドシートからメールを一括配信したり、Googleフォームから個人ではないFromを使って返信できます。Gmailでは1日の配信件数に限界がありますが、blastengineを使えばそういった心配は無用です。
ぜひblastengineをお試しください!