blastengineは手軽に利用できるエンジニア向けのメールサービスを提供しています。何かと面倒なメール配信をシンプルに、かつ確実に送信先に届くようになります。
今回はblastengineでメールを送信するまでの流れを順番に解説します。
ユーザ登録する
blastengineにユーザ登録します。管理画面に入るためのユーザID、パスワードが手に入るので、ログインします(ユーザIDは後で使います)。
APIキーをゲットする
ログイン後、管理画面の右上にある設定メニューに移動します。
そして設定の中で、APIキーを取得します。
送信元ドメインのSPFを設定する
送信元として利用するドメイン(自分で持っているもの)の設定をします。これは任意のドメイン管理サービスで設定しますが、TXTレコードに以下のSPFを追加します。
txt @ v=spf1 include:spf.besender.jp ~all
トークンを生成する
APIリクエストするためのトークンを生成します。手順としては次のとおりです。
- ユーザIDとAPIキーを連結する
- SHA256のハッシュを生成する
- ハッシュを全て小文字にする
- 3の文字列をBASE64エンコードする
例えばユーザIDとAPIキーが以下だったとします。
項目 | 値 |
---|---|
ユーザID | blastengine |
APIキー | ABCDEFG |
まずユーザIDとAPIキーを連結します。
blastengineABCDEFG
この文字列のハッシュ値を取ります。
$ echo -n "blastengineABCDEFG" | shasum -a 256
1f0eee8fc120676fc589492f15228efb3d021f0aee4b006efb27c7ee33f5d6c9 -
この値をすべて小文字にし、BASE64エンコードします。
$ echo -n "1f0eee8fc120676fc589492f15228efb3d021f0aee4b006efb27c7ee33f5d6c9" | base64
MWYwZWVlOGZjMTIwNjc2ZmM1ODk0OTJmMTUyMjhlZmIzZDAyMWYwYWVlNGIwMDZlZmIyN2M3ZWUzM2Y1ZDZjOQ==
この生成された MWYwZWVlOGZjMTIwNjc2ZmM1ODk0OTJmMTUyMjhlZmIzZDAyMWYwYWVlNGIwMDZlZmIyN2M3ZWUzM2Y1ZDZjOQ==
がトークンになります。
JSONを用意する
APIにリクエストするためのJSONを用意します。今回は簡単な例として、次のJSONになります。JSONキーについては別な記事で解説する予定ですが、おそらく見ればどこに用いられるものなのかはすぐ分かるかと思います。fromのemail、toのメールアドレスは必要なものに書き換えてください。
{
"from": {
"email": "no-reply@example.jp",
"name": "送信者サンプル"
},
"to": "test@example.com",
"subject": "テスト件名",
"encode": "ISO-2022-JP",
"text_part": "テスト配信",
"html_part": "<!DOCTYPE html><html><header></header><body>__code1__ sample html</body></html>"
}
リクエストを組み立てる
blastengineの即時配信(トランザクション)用のエンドポイントは以下になります。
POST https://app.engn.jp/api/v1/deliveries/transaction
トークンとJSONの準備ができたらcurlリクエストを組み立てます。
$ curl -XPOST \
-H "Authorization: Bearer MWYwZWVlOGZjMTIwNjc2ZmM1ODk0OTJmMTUyMjhlZmIzZDAyMWYwYWVlNGIwMDZlZmIyN2M3ZWUzM2Y1ZDZjOQ==" \
-H "Content-Type: application/json" \
-d '{
"from": {
"email": "no-reply@example.jp",
"name": "送信者サンプル"
},
"to": "test@example.com",
"subject": "テスト件名",
"encode": "ISO-2022-JP",
"text_part": "テスト配信",
"html_part": "<!DOCTYPE html><html><header></header><body>sample html</body></html>"
}' \
https://app.engn.jp/api/v1/deliveries/transaction
これで {"delivery_id":4}
といったレスポンスが返ってくれば完成です。
まとめ
blastengineは次の3ステップでメール送信できます。
- SPFレコードをセットする
- APIキーをゲットしてトークンを生成する
- APIを実行する
日本で提供しているサービスだけあって、日本のキャリアやユーザへの到達率も高いのが特徴です。ぜひblastengineをお試しください!