0
Help us understand the problem. What are the problem?

posted at

updated at

blastengineのNode.js SDKを使って添付ファイル付きメールを送信する

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を使って初期化します。

new Blastengine(YOUR_USER_ID, YOUR_API_KEY);

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

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

const transaction = new Transaction;

必要な情報をセットする

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

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

添付ファイルをセットする

添付ファイルはファイルへのパスかBlobオブジェクト、またはBufferを適用してください。複数指定可能です。

transaction
	.addAttachment('file.png')
	.addAttachment('another.png')

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

const res = await transaction.send();

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

res.delivery_id
// => 18

コードについて

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

blastengineMania/blastengine-node

まとめ

blastengineには他にも一括メール配信を行う機能があります。ぜひ皆さんのシステム開発におけるメール配信を素早く実装するのに役立ててください。

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

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
0
Help us understand the problem. What are the problem?