こちらはNode-REDのカレンダー | Advent Calendar 2023 - Qiita、18日目の記事です。
Node-REDはフローベースのプログラミングツールです。ノードをつなげてプログラムを作成します。ノードは、入力を受け取って、処理を行い、出力を返すものです。Node-REDは、IoTの分野でよく使われています。
そんなフローの中で、結果や通知をメールで行えるようになるblastengineノードを作成しましたので、その使い方を紹介します。
リポジトリ
blastengineノードは、GitHubで公開しています。ライセンスはMITです。
blastengineMania/node-red-contrib-bemail
インストール
インストールはnpmコマンドで行います。
npm i node-red-contrib-bemail
インストール後は、Node-REDを再起動してください。
使い方
blastengineノードの追加
blastengineノードはネットワークパネルの中にあります。
設定
設定項目は次の通りです。
項目名 | パラメーター名 | 説明 |
---|---|---|
User name | username | blastengineのユーザー名 |
API key | apikey | blastengineのAPIキー |
To | to | 送信先のメールアドレス |
Subject | subject | メールの件名 |
From name | fromname | 送信元の名前 |
From email | fromemail | 送信元のメールアドレス |
Email body | message | メールの本文 |
入力項目はすべて、前のノードからの出力で上書きできます。たとえば以下のように送れば、メールの件名を変更できます。
{
"subject": "変更後の件名"
}
また、追加で cc
と bcc
を追加できます。
{
"cc": "cc@blastengine.jp",
"bcc": "bcc@blastengine.jp"
}
メール本文について
メール本文では __キー__
のような形で、前のノードからの出力を埋め込むことができます。たとえば、以下のようなメール本文を設定すると、メール本文に name
というキーがあれば、その値を埋め込むことができます。
お名前: __name__
__input__
というキーは、前のノードからの入力をそのまま埋め込むことができます。JSON Objectではない場合に使ってください。
新しい値です
__input__
レスポンス
blastengineノードのレスポンスは、メール送信の結果になります。成功した場合はblastengineの配信IDが返ります。
{
"deliveryId: 9999
}
エラーの場合には、エラーの内容が返ります。
{
"error_messages": {
"to": [
"user@example.com: data is invalid email address."
]
}
}
まとめ
Node-RED用のblastengineノードを使えば、Node-REDを使って手軽にメール送信できます。ローカルで立てていても、ちゃんと届くメールが送信できます。また、大量のメール送信でもblastengineならば安定して処理できます。
ぜひ、Node-REDでのメール送信時に役立ててください。
エンジニア向けメール配信システム「ブラストエンジン(blastengine)」
明日、19日目はじぇーけーそふと (@jksoft913)さんです。