e-mailノード(メール送信)¶
概要¶
e-mailノードは、SMTPサーバーを利用してメールを送信するためのノードです。
通常は「メール送信ノード」をご利用ください
ロボシュタインには、メール送信を行うための専用ノードとしてメール送信ノード(パレット上の表示は「RS メール送信」)が用意されています。
通常の通知メール送信や添付ファイル付きメール送信を行う場合は、まずロボシュタイン専用の「メール送信ノード」の利用を推奨します。
一方で、以下のような場合は、本ページで説明するe-mailノードの利用を検討してください。
- 任意のSMTPサーバーを直接指定して送信したい場合
- SMTPサーバー、ポート、認証方式、TLS設定などを細かく指定したい場合
- Basic認証、XOAuth2認証、認証なしなど、SMTP接続方式を個別に設定したい場合
ロボシュタイン専用ノードで実現できる通常の送信用途であれば、設定や運用が分かりやすい専用ノードを使用してください。

具体的な活用例(SMTPサーバーを指定してメールを送信する)¶
外部SMTPサーバーを利用して、フロー内で作成した本文をメール送信する例です。
フローのイメージ図¶

① 前段ノードでメール本文を作成する¶
templateノードやfunctionノードで、送信するメール本文を作成します。
例えば、templateノードで以下のような本文を作成します。
アラートを検知しました。
対象サーバー:server01
状態:CRITICAL
この本文を msg.payload に設定して、e-mailノードへ渡します。
② e-mailノードで送信先とSMTP情報を設定する¶
e-mailノードでは、宛先、SMTPサーバー、ポート、認証情報などを設定します。
例:
- 宛先:
example@example.com - サーバ:
smtp.example.com - ポート:
465 - Auth type:
Basic
③ メールを送信する¶
e-mailノードにメッセージが渡されると、設定したSMTPサーバーを利用してメールが送信されます。
設定項目一覧¶
| 必須 | 項目名 | 説明 |
|---|---|---|
| 名前 | フローエディター上で表示されるノード名を任意で指定できます。 | |
| 宛先 | メールの送信先を指定します。空欄の場合は msg.to を使用します。 |
|
| ◯ | サーバ | メール送信に使用するSMTPサーバーを指定します。 |
| ◯ | ポート | SMTPサーバーのポート番号を指定します。 |
| 安全な接続を使用 | SMTPサーバーとSSL/TLSで接続する場合にチェックします。 | |
| ◯ | Auth type | 認証方式を「Basic」「XOAuth2」「None」から選択します。 |
| ユーザID | SMTP認証に使用するユーザーIDを指定します。 | |
| パスワード | SMTP認証に使用するパスワードを指定します(Auth typeがBasicの場合)。 | |
| Token | アクセストークンが格納されている msg のプロパティを指定します(Auth typeがXOAuth2の場合)。 |
|
| TLSオプション | 「チェックサーバ証明書は有効です」にチェックを入れると、SMTPサーバーの証明書を検証します。 |
宛先について¶
宛先には、メールの送信先アドレスを指定します。
ノード設定画面で宛先を固定することもできますし、前段のノードで msg.to を設定して送信先を動的に変更することもできます。
ノード設定で宛先を固定する場合¶
宛先:example@example.com
この場合、e-mailノードに渡されたメッセージは、設定した宛先へ送信されます。
msgで宛先を指定する場合¶
前段のchangeノードやfunctionノードで、msg.to を設定します。
functionノードの場合は以下のように記述します。
msg.to = "example@example.com";
return msg;
ただし、ノード設定画面に宛先が設定されている場合、msg.to よりもノード設定側の宛先が優先されます。
宛先をフロー内で動的に変えたい場合は、ノード設定画面の宛先を空にし、msg.to を使用してください。
サーバとポートについて¶
サーバとポートには、メール送信に使用するSMTPサーバーの情報を指定します。
例:
- サーバ:
smtp.example.com - ポート:
465
利用するメールサービスやSMTPサーバーによって、サーバー名、ポート番号、安全な接続の要否が異なります。 設定する際は、利用するメールサーバー側のSMTP設定を確認してください。
認証方式(Auth type)について¶
e-mailノードでは、以下の認証方式を選択できます。
| Auth type | 内容 |
|---|---|
| Basic | ユーザIDとパスワードを使用してSMTP認証を行います。 |
| XOAuth2 | OAuth2のアクセストークンを使用してSMTP認証を行います。 |
| None | 認証なしでSMTPサーバーへ接続します。 |
通常は、SMTPサーバーの要件に合わせてBasicまたはXOAuth2を使用します。 認証なしで利用できるSMTPサーバーは限られるため、Noneを使用する場合は、利用環境やセキュリティ要件を確認してください。
メール本文について¶
送信するメール本文は、msg.payload に設定します。
テキストメールの例¶
msg.to = "example@example.com";
msg.topic = "アラート通知";
msg.payload = "サーバーでアラートを検知しました。";
return msg;
この場合、msg.payload の内容がメール本文として送信されます。
HTMLメールの例¶
msg.payload にHTMLタグを含む文字列を設定すると、HTML本文として送信されます。
msg.to = "example@example.com";
msg.topic = "アラート通知";
msg.payload = "<h1>アラート通知</h1><p>サーバーで異常を検知しました。</p>";
return msg;
HTMLメールでは、msg.plaintext を設定すると、HTMLを表示できないメールソフト向けのテキスト本文を別に指定できます。
HTML形式で送信する場合は、受信側の表示やセキュリティポリシーも考慮してください。
件名について¶
メール件名は、msg.topic に設定します。
msg.topic = "アラート通知";
msg.topic がない場合は msg.title が使用され、どちらも設定されていない場合は「Message from Node-RED」という件名になります。
通常は、前段のchangeノードやfunctionノードで msg.topic を設定してからe-mailノードへ渡してください。
送信元について¶
送信元には、通常、ユーザIDに設定した値が使用されます。
前段のノードで msg.from を設定すると、送信元として使用できます。
msg.from = "sender@example.com";
ただし、SMTPサーバー側の設定によっては、認証ユーザーと異なる送信元アドレスでの送信が許可されない場合があります。 送信元を変更したい場合は、メールサーバー側で許可されているか確認してください。
Cc、Bcc、Reply-Toについて¶
ノード設定画面の宛先を空にしている場合、msg.cc、msg.bcc、msg.replyTo などを使用できます。
ノード設定画面に宛先を設定している場合、これらの値は使用されません。
msg.to = "to@example.com";
msg.cc = "cc@example.com";
msg.bcc = "bcc@example.com";
msg.replyTo = "reply@example.com";
return msg;
複数宛先を指定する場合は、カンマ区切りで指定します。
msg.to = "user1@example.com,user2@example.com";
添付ファイルについて¶
e-mailノードでは、msg.attachments を使用して添付ファイルを指定できます。
添付ファイルを1つ指定する例¶
msg.to = "example@example.com";
msg.topic = "ファイル送付";
msg.payload = "ファイルを添付します。";
msg.attachments = [
{
filename: "report.txt",
content: "添付ファイルの内容です。"
}
];
return msg;
content には、文字列またはバイナリデータ(バッファ)を指定します。
バイナリデータを添付する場合¶
msg.payload がバイナリデータ(バッファ)の場合、msg.payload は本文ではなく添付ファイルとして送信されます。
このとき、msg.filename を設定しておくと、添付ファイル名を指定できます。本文は msg.description で指定できます。
msg.filename = "report.pdf";
利用例¶
例1:固定宛先へ通知メールを送信する¶
固定の担当者宛に通知メールを送信する例です。

e-mailノード側で宛先、サーバ、ポート、認証情報を設定します。
前段のtemplateノードでは、通知本文を msg.payload に設定します。
例2:宛先を動的に変更して送信する¶
前段のfunctionノードで宛先を設定し、送信先を切り替える例です。e-mailノードの宛先は空欄にしておきます。

msg.to = "operator@example.com";
msg.topic = "ロボシュタイン通知";
msg.payload = "処理が完了しました。";
return msg;
このようにすると、フロー内の条件に応じて送信先を変更できます。
例3:HTMLメールを送信する¶
HTML形式の本文を送信する例です。

msg.to = "example@example.com";
msg.topic = "HTML通知";
msg.payload = "<p>処理が完了しました。</p>";
return msg;
例4:添付ファイル付きメールを送信する¶
ファイル内容を添付して送信する例です。

msg.to = "example@example.com";
msg.topic = "レポート送付";
msg.payload = "レポートを添付します。";
msg.attachments = [
{
filename: "report.txt",
content: "レポート本文"
}
];
return msg;
注意点¶
通常用途ではロボシュタイン専用ノードを優先する¶
ロボシュタインには、メール送信を行うための専用ノードが用意されています。 通常の通知メール送信や、ロボシュタイン上で管理された送信元アドレスを使った送信では、専用ノードの利用を推奨します。 e-mailノードは、SMTPサーバーや認証方式を直接指定したい場合など、標準ノードとしての細かい設定が必要な場合に利用してください。
SMTPサーバーの設定を確認する¶
e-mailノードでは、SMTPサーバー、ポート、安全な接続、TLS、認証情報を直接設定します。 設定が誤っているとメール送信に失敗します。 利用するメールサービスや社内SMTPサーバーの設定情報を確認したうえで設定してください。
宛先の優先順位に注意する¶
ノード設定画面に宛先が設定されている場合、msg.to を設定してもノード設定画面の宛先が優先されます。
宛先を動的に変更したい場合は、ノード設定画面の宛先を空にしてください。
msg.payload が必要¶
e-mailノードは、msg.payload の内容を本文として送信します。
msg.payload がない場合、メールは送信されず、「送信するペイロードがありません」という警告が表示されます。
HTML本文の扱いに注意する¶
msg.payload にHTMLタグを含む文字列を設定すると、HTML本文として扱われます。
HTMLメールを送信する場合は、意図しないHTMLタグやスクリプトが含まれないよう注意してください。
添付ファイルの形式に注意する¶
添付ファイルを指定する場合、msg.attachments の形式や、content の形式に注意してください。
content には、文字列またはバイナリデータを使用します。それ以外の形式を渡すと、「不正な添付コンテンツ」というエラーになり、メールは送信されません。
認証情報の取り扱いに注意する¶
SMTPのユーザーID、パスワード、OAuth2トークンなどは機密情報です。 debugノードで表示したり、画面キャプチャやマニュアルに掲載したりする場合は、必ずマスキングしてください。
送信失敗時のエラー処理を用意する¶
SMTPサーバーへの接続失敗、認証失敗、宛先不正、添付ファイル不正などでメール送信に失敗する場合があります。 必要に応じて、catchノードを組み合わせて、送信失敗時の通知やログ出力を行ってください。
関連ノード¶
- メール送信ノード:ロボシュタイン専用のメール送信ノードです。通常のメール送信ではこちらの利用を推奨します。
- templateノード:メール本文を作成する場合に使用します。
- changeノード:
msg.to、msg.topic、msg.payloadなどを設定する場合に使用します。 - functionノード:宛先や本文、添付ファイルを動的に作成する場合に使用します。
- switchノード:条件に応じて送信先や送信内容を分岐する場合に使用します。
- catchノード:メール送信失敗時のエラーを検知する場合に使用します。
- debugノード:送信前の
msg.to、msg.topic、msg.payloadを確認する場合に使用します。
まとめ¶
e-mailノードは、SMTPサーバーを利用してメールを送信するための標準ノードです。
SMTPサーバー、ポート、安全な接続、認証方式、TLS設定などを直接指定できるため、メール送信環境を細かく制御したい場合に利用できます。
一方で、ロボシュタインにはメール送信専用ノードが用意されています。 通常の通知メール送信や、ロボシュタイン上で管理された送信元アドレスを利用する場合は、専用ノードの利用を推奨します。
e-mailノードは、任意のSMTPサーバーを直接指定したい場合や、標準ノードとしてSMTP接続設定を細かく行いたい場合に利用してください。