コンテンツにスキップ

e-mail inノード(メール受信)

e-mail inノード

概要

e-mail inノードは、IMAPまたはPOP3を利用してメールサーバーからメールを受信するためのノードです。

通常は「メール受信ノード」をご利用ください

ロボシュタインには、メール受信を行うための専用ノードとしてメール受信ノードが用意されています。
通常のメール受信や、ロボシュタイン側で管理している受信メールアドレスを利用する場合は、まずロボシュタイン専用の「メール受信ノード」の利用を推奨します。

一方で、以下のような場合は、本ページで説明するe-mail inノードの利用を検討してください。

  • 既存のメールボックスにIMAPまたはPOP3で直接接続してメールを取得したい場合
  • メールサーバー、ポート、SSL、認証方式などを細かく指定したい場合
  • INBOX以外のフォルダを指定して受信したい場合
  • 未読メール、既読メール、フラグ付きメールなど、取得条件を指定したい場合
  • 取得後に既読化、削除などの処理を行いたい場合

ロボシュタイン専用ノードで実現できる通常の受信用途であれば、設定や運用が分かりやすい専用ノードを使用してください。

e-mail inノード設定画面

具体的な活用例(メールを受信して内容に応じて分岐する)

監視ツールから届くアラートメールを受信し、本文や件名に応じて後続処理を分岐する例です。

フローのイメージ図

e-mail inノードのフローイメージ

① e-mail inノードでメールを受信する

e-mail inノードで、接続先のメールサーバー、プロトコル、認証情報、取得条件などを設定します。

例:

  • プロトコル:IMAP
  • サーバ:imap.example.com
  • ポート:993
  • フォルダ:INBOX
  • 条件:未読

この設定では、指定したメールボックスから未読メールを取得します。

② debugノードで受信内容を確認する

受信したメールの本文や件名が、どのプロパティに格納されているか確認します。 まずはdebugノードで対象を「msgオブジェクト全体」にして、受信メールの内容を確認してください。

よく使う値は以下です。

プロパティ 内容
msg.payload メール本文(テキスト)が入ります。
msg.topic メール件名が入ります。
msg.from 差出人メールアドレスが入ります。
msg.date メールの日付が入ります。
msg.header メールヘッダー情報が入ります。
msg.html HTML本文がある場合に入ります。
msg.attachments 添付ファイル情報が入ります。

③ 後続ノードで分岐や通知を行う

受信したメールの内容をもとに、switchノードで分岐したり、templateノードで通知文を作成したりできます。 例えば、メール本文に CRITICAL が含まれる場合だけ通知する、といった処理を作成できます。

設定項目一覧

必須 項目名 説明
名前 フローエディター上で表示されるノード名を任意で指定できます。
◯ メール受信 「自動」(一定間隔で確認)か「トリガ時」(前段ノードからメッセージを受け取ったときに確認)かを指定します。
更新 「自動」の場合に、何秒ごとにメールを確認するかを指定します。
◯ プロトコル IMAPまたはPOP3を選択します。
SSLを使用 SSL接続を使用する場合にチェックします。
TLSを開始? IMAP接続時のSTARTTLSの利用方法を「なし」「必要な場合」「常時」から指定します(IMAPの場合のみ)。
◯ サーバ 接続先のメールサーバーを指定します。
◯ ポート 接続先メールサーバーのポート番号を指定します。
◯ Auth type 認証方式を「Basic」「XOAuth2」「None」から選択します。
ユーザID メールサーバーへのログインに使用するユーザーIDを指定します。
パスワード メールサーバーへのログインに使用するパスワードを指定します(Auth typeがBasicの場合)。
Token アクセストークンが格納されている msg のプロパティを指定します(Auth typeがXOAuth2の場合)。
フォルダ 取得対象とするフォルダを指定します(IMAPの場合のみ)。
受信後の処理 取得したメールの扱いを「なし」「既読」「削除」から指定します(IMAPの場合のみ)。
条件 未読、既読、フラグ付きなど、取得対象の条件を指定します(IMAPの場合のみ)。

「TLSを開始?」「フォルダ」「受信後の処理」「条件」は、プロトコルが「IMAP」の場合のみ表示されます。

メール受信(取得方法)について

e-mail inノードでは、メールの取得方法を選択できます。

メール受信 内容
自動 「更新」で指定した間隔でメールボックスを確認します。
トリガ時 前段ノードからメッセージを受け取ったタイミングでメールを確認します。

自動

自動では、指定した秒数ごとにメールボックスを確認します。

例:メール受信「自動」、更新「300」秒

この場合、5分ごとにメールボックスを確認します。 監視アラートメールなどを定期的に確認したい場合に利用できます。

トリガ時

トリガ時では、injectノードなどの前段ノードからメッセージを受け取ったタイミングでメールを確認します。

e-mail inノードのフローイメージ

任意のタイミングで受信確認を行いたい場合や、別の処理に合わせてメール確認を実行したい場合に利用できます。

プロトコルについて

e-mail inノードでは、IMAPまたはPOP3を選択できます。

プロトコル 内容
IMAP メールサーバー上のメールボックスを参照してメールを取得します。フォルダや取得条件を指定しやすく、通常はこちらを使用します。
POP3 メールサーバーからメールを取得します。取得したメールはメールサーバーから削除されます。

通常は、IMAPを使用する方が扱いやすいです。 特に、フォルダ指定、未読メールのみの取得、取得後に既読化する運用などを行う場合は、IMAPを利用してください。

サーバとポートについて

サーバとポートには、接続先のメールサーバー情報を指定します。 IMAPとPOP3では、一般的に使用するポートが異なります。

プロトコル SSLなし SSLあり
IMAP 143 993
POP3 110 995

例:

  • プロトコル:IMAP
  • サーバ:imap.example.com
  • ポート:993
  • SSLを使用:チェックあり

利用するメールサービスや社内メールサーバーによって設定値が異なるため、設定時はメールサーバー側の情報を確認してください。

認証方式(Auth type)について

e-mail inノードでは、以下の認証方式を選択できます。

Auth type 内容
Basic ユーザIDとパスワードを使用して認証します。
XOAuth2 OAuth2のアクセストークンを使用して認証します。
None 認証なしで接続します。

通常は、メールサーバーの要件に合わせてBasicまたはXOAuth2を使用します。 XOAuth2を使用する場合は、アクセストークンを msg から参照します。Auth typeで「XOAuth2」を選択すると、メール受信は自動的に「トリガ時」に切り替わるため、前段のノードでアクセストークンを設定してからe-mail inノードへ渡してください。

フォルダについて

IMAPを使用する場合、取得対象のフォルダを指定できます。 通常は INBOX を指定します。

フォルダ:INBOX

メールサーバー側に別のフォルダを作成している場合は、そのフォルダ名を指定できます。 ただし、フォルダ名はメールサーバーの構成に依存するため、実際に存在するフォルダ名を指定してください。

受信後の処理について

IMAPを使用する場合、取得したメールの扱いを指定できます。

設定 内容
なし 取得後もメールの状態を変更しません。
既読 取得後に既読にします。
削除 取得後に削除します。

通常は、同じメールを何度も処理しないように、条件を「未読」にし、受信後の処理を「既読」にする運用が分かりやすいです。 「削除」は、必要なメールがサーバーから消える可能性があるため、十分に確認してから使用してください。

条件について

条件では、どのメールを取得対象にするかを指定できます(IMAPの場合のみ)。

条件 内容
全て すべてのメールを対象にします。
返信済み 返信済みのメールを対象にします。
フラグ付き フラグ付きのメールを対象にします。
既読 既読メールを対象にします。
未返信 未返信のメールを対象にします。
フラグ無し フラグなしのメールを対象にします。
未読 未読メールを対象にします。
- msg.criteriaから使用 - 前段のメッセージの msg.criteria で取得条件を指定します。["UNSEEN"] のように配列で指定します。選択すると、メール受信は自動的に「トリガ時」に切り替わります。

通常は、未処理のメールだけを対象にするため、「未読」を使用することが多いです。

受信後に渡される主な値

e-mail inノードでメールを受信すると、1通ごとに後続ノードへメール内容が渡されます。

プロパティ 内容
msg.payload メール本文(テキスト)です。
msg.topic メール件名です。
msg.date メールの日付です。
msg.header メールヘッダー情報です。
msg.html HTML本文がある場合に入ります。
msg.to 宛先情報です。
msg.cc Cc情報です(ある場合)。
msg.bcc Bcc情報です(ある場合)。
msg.from 差出人メールアドレスです。
msg.attachments 添付ファイル情報の配列です。添付ファイルがない場合は空の配列になります。

メールの形式によって、取得できる値が異なる場合があります。 必要に応じて、e-mail inノードの後ろにdebugノードを接続し、実際の msg の中身を確認してください。

e-mail inノードのフローイメージ

debugノードでは、まず対象を「msgオブジェクト全体」にすると、受信内容を確認しやすくなります。

利用例

例1:未読メールを受信して処理する

IMAPで未読メールを取得し、取得後に既読にする例です。

例1:未読メールを受信して処理する

設定例:

  • プロトコル:IMAP
  • フォルダ:INBOX
  • 条件:未読
  • 受信後の処理:既読

この構成にすると、未読メールを取得し、処理後に既読化できます。

例2:メール件名で分岐する

受信したメールの件名に応じて処理を分ける例です。

例2:メール件名で分岐する

switchノードの設定例:

  • プロパティ:msg.topic
  • ルール1:要素に含む CRITICAL
  • ルール2:要素に含む WARNING
  • ルール3:その他

件名に含まれる文字列に応じて、通知先や処理内容を分けられます。

例3:メール本文で分岐する

受信したメール本文に応じて処理を分ける例です。

例3:メール本文で分岐する

switchノードの設定例:

  • プロパティ:msg.payload
  • ルール1:要素に含む 障害
  • ルール2:要素に含む 復旧
  • ルール3:その他

本文内のキーワードに応じて、後続処理を分けられます。

例4:添付ファイル付きメールを処理する

添付ファイル付きメールを受信し、後続処理で添付情報を扱う例です。

例4:添付ファイル付きメールを処理する

受信した添付ファイル情報は、msg.attachments に入ります。 添付ファイルを扱う場合は、まずdebugノードで msg.attachments の形式を確認してください。

注意点

通常用途ではロボシュタイン専用ノードを優先する

ロボシュタインには、メール受信用の専用ノードが用意されています。 ロボシュタイン側で管理している受信メールアドレスを使ってフローを起動する場合は、専用の「メール受信ノード」を利用してください。 e-mail inノードは、外部メールボックスへIMAP/POP3で直接接続したい場合など、標準ノードとしての細かい接続設定が必要な場合に利用してください。

メールサーバーの設定を確認する

e-mail inノードでは、メールサーバー、ポート、SSL、TLS、認証情報を直接設定します。 設定が誤っていると、メールボックスに接続できない、メールを取得できない、認証に失敗するなどの問題が発生します。 利用するメールサービスや社内メールサーバーの設定情報を確認したうえで設定してください。

POP3を使用する場合は取得後にメールが削除される

POP3では、取得したメールはメールサーバーから削除されます。 メールをサーバー上に残したい場合や、未読・既読などの状態を利用したい場合は、IMAPを利用してください。

取得間隔を短くしすぎない

自動取得の間隔を短くしすぎると、メールサーバーへの接続回数が増えます。 メールサーバー側の制限や負荷を考慮して、適切な取得間隔を設定してください。

同じメールを何度も処理しないようにする

条件を「全て」にしたまま受信後の処理を「なし」にすると、確認のたびに同じメールを繰り返し処理します。 通常は、「未読」と「既読」を組み合わせるなど、処理済みメールを再処理しない設定にしてください。

削除設定は慎重に使用する

受信後の処理で「削除」を選択すると、取得したメールが削除されます。 誤って必要なメールを削除しないよう、テスト用のメールボックスで動作確認してから使用してください。

認証情報の取り扱いに注意する

メールサーバーのユーザーID、パスワード、OAuth2トークンなどは機密情報です。 debugノードで表示したり、画面キャプチャやマニュアルに掲載したりする場合は、必ずマスキングしてください。

HTML本文や添付ファイルの扱いに注意する

メールによっては、テキスト本文だけでなく、HTML本文や添付ファイルが含まれる場合があります。 HTML本文は msg.html、添付ファイルは msg.attachments に入ります。 後続処理で利用する場合は、必ずdebugノードで実際のデータ形式を確認してください。

受信失敗時のエラー処理を用意する

メールサーバーへの接続失敗、認証失敗、フォルダ指定誤り、取得条件の誤りなどにより、メール受信に失敗する場合があります。 必要に応じて、catchノードを組み合わせて、受信失敗時の通知やログ出力を行ってください。

関連ノード

  • メール受信ノード:ロボシュタイン専用のメール受信ノードです。通常のメール受信ではこちらの利用を推奨します。
  • debugノード:受信したメール内容を確認する場合に使用します。
  • switchノード:件名や本文に応じて処理を分岐する場合に使用します。
  • changeノード:受信した値を後続処理で扱いやすい形に整える場合に使用します。
  • functionノード:本文の解析や添付ファイル処理など、複雑な加工を行う場合に使用します。
  • templateノード:受信内容をもとに通知文を作成する場合に使用します。
  • メール送信ノード:受信メールに対して通知や返信メールを送信する場合に使用します。
  • catchノード:受信処理で発生したエラーを検知する場合に使用します。

まとめ

e-mail inノードは、IMAPまたはPOP3を利用してメールサーバーからメールを受信するための標準ノードです。

メールサーバー、ポート、SSL、TLS、認証方式、フォルダ、取得条件、受信後の処理などを直接指定できます。

一方で、ロボシュタインにはメール受信用の専用ノードが用意されています。 通常のメール受信や、ロボシュタイン側で管理している受信メールアドレスを利用する場合は、専用の「メール受信ノード」の利用を推奨します。

e-mail inノードは、既存のメールボックスへIMAP/POP3で直接接続したい場合や、標準ノードとして受信条件を細かく設定したい場合に利用してください。