2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

blastengineのNode.js SDKを使ってメール送信を行う

Last updated at Posted at 2022-06-06

blastengine(ブラストエンジン)はシンプルに使える開発者向けメールサービスを提供しています。何かと面倒なメール配信をシンプルに、かつ確実に送信先へ届くようになります。

現在、Node.js向けに、blastengine SDKを開発しています。この記事では、その使い方を解説します。まずはテキストメールの即時送信についてです。

blastengine - npm

ユーザ登録する

blastengineにユーザ登録します。管理画面に入るためのユーザID、パスワードが手に入るので、ログインします(ユーザIDは後で使います)。

getting-started-4.jpg

送信元ドメインのSPFを設定する

送信元として利用するドメイン(自分で持っているもの)の設定をします。これは任意のドメイン管理サービスで設定できますが、TXTレコードに以下のSPFを追加します。

txt @ v=spf1 include:spf.besender.jp ~all

APIキーを取得する

ログイン後、管理画面の右上にある設定メニューに移動します。

getting-started-6.jpg

そして設定の中で、APIキーを取得します。

getting-started-5.png

必要な情報について

SDKを使う上で必要なのは、先ほどのAPIキーとユーザIDになります。

SDKのインストール

SDKは npm コマンドでインストールできます。

npm i blastengine

SDKのインポート

まずSDKをインポートします。

import Blastengine, { Transaction } from 'blastengine';

初期化

先ほどのAPIキーとユーザIDを使って初期化します。

const client = new Blastengine(YOUR_USER_ID, YOUR_API_KEY);

トランザクションオブジェクトの作成

メールを即時配信する際にはトランザクションオブジェクトを使います。

const transaction = new Transaction;

必要な情報をセットする

続けて、トランザクションオブジェクトに必要なオブジェクトをセットします。

transaction
	.setFrom('info@example.com', 'Admin')
	.setSubject('メールの件名')
	.setTo('to@example.jp')
	.setText('メールの本文');

後は send メソッドで送信できます。これは非同期メソッドです。

const res = await transaction.send();

res.delivery_id に数字が入っていれば、送信完了です。

res.delivery_id
// => 18

コードについて

コードはGitHubにアップしてあります。ライセンスはMIT Licenseになります。

blastengineMania/blastengine-node

まとめ

blastengineには他にも一括メール配信を行ったり、添付ファイル付きのメール配信機能などもあります。これらの機能も随時実装していきますので、ぜひ皆さんのシステム開発に役立ててください。

エンジニア向けメール配信システム「ブラストエンジン」

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?