5.7 KiB
5.7 KiB
IMAPからLINEへの通知ワークフロー構築手順書
このドキュメントでは、n8nを使用して「メール(IMAP)を受信し、LINE Messaging APIで通知する」ワークフローを構築する手順を説明します。 この手順は、Docker環境で動作するn8nを前提としています。
1. 前提条件
- n8n環境: n8n v1.0以上が動作していること。
- メールサーバー情報: IMAP接続が可能なメールサービスのホスト名、ポート、ユーザー名、パスワード(Googleの場合はアプリパスワード)。
- LINE Messaging API: LINE Developersコンソールでチャネルが作成され、アクセストークン(ロングターム推奨)とユーザーIDが取得済みであること。
2. 準備: コミュニティノードのインストール
標準のIMAPノードでは大量のメールを処理しきれない場合があるため、拡張機能であるコミュニティノードを使用します。
- n8nの画面左下、または設定メニューから [Settings] > [Community nodes] を開きます。
- [Install a community node] をクリックします。
- 以下のパッケージ名を入力し、インストールします。
- Package Name:
n8n-nodes-imap-enhanced - (承認が必要な場合はチェックを入れて進めてください)
- Package Name:
3. ワークフローのインポート
添付のJSONファイル n8n_imap_to_line_workflow.json を使用すると、設定済みのワークフローを一括で読み込めます。
- n8nのワークフロー一覧画面(Workflows)を開きます。
- 右上のメニューから [Import from File] を選択し、JSONファイルをアップロードします。
- または、新規ワークフローを作成し、画面右上のメニューから [Import from File] を選択します。
- インポート後、画面を一度リロード(F5)することを推奨します(コミュニティノードの表示を反映させるため)。
4. ノードの設定詳細
インポートされたワークフローには、主に3つのノードが含まれています。それぞれの設定を確認・修正してください。
A. Schedule Trigger
定期的にメールチェックを行うトリガーです。
- Interval: デフォルトは3分間隔になっています。必要に応じて変更してください。
B. IMAP Enhanced (Community Node)
メールを受信するノードです。
- Credential: [Create New] からメールサーバー情報を入力して保存してください。
- Googleの場合: Userはメールアドレス、Passwordはアプリパスワードです。
- Resource:
Messageを選択。- ※もし空欄になっている場合は、一度別の項目を選んでから
Messageを選び直してください。
- ※もし空欄になっている場合は、一度別の項目を選んでから
- Operation:
Get Manyを選択。 - Mailbox:
INBOX - Format:
Resolved - Options(重要):
- Limit:
10程度推奨(1回に処理する件数)。 - Search:
UNSEEN SINCE 10-Feb-2026のように設定します。UNSEEN: 未読メールのみを対象。SINCE dd-Mon-yyyy: 指定日以降のメールのみ対象(大量の過去メール読み込みを防ぐため必須)。
- Download Attachments:
false(動作を軽くするためOFF推奨)。
- Limit:
C. LINE Messaging API (HTTP Request)
LINEに通知を送るノードです。
- Method:
POST - URL:
https://api.line.me/v2/bot/message/push - Authentication:
Header Authを選択。 - Credential: [Create New] から以下を設定します。
- Name:
Authorization(※スペルミス注意。スペース等は入れないこと) - Value:
Bearer {YOUR_ACCESS_TOKEN}(先頭にBearerと半角スペースを入れる)
- Name:
- Body: JSON形式で送信内容を定義しています。
to: あなたのLINEユーザーID (Uから始まる文字列) に書き換えてください。
5. 動作確認
- 画面下部の [Execute Workflow] をクリックします。
- 自分宛てにテストメールを送るなどして、未読メールがある状態で通知が届くか確認してください。
- 問題なければ、画面右上の [Active] スイッチをONにして保存してください。
以上
参考: CLI(コマンドライン)でのインポート方法
今回の作業では、ブラウザを使わずにサーバー内部のコマンドだけでインポートを行いました。 大量のワークフローを管理する場合や、自動化する場合に便利な方法です。
1. サーバーへのファイル転送
作成したJSONファイルを、サーバー上の任意の場所(例: /home/akira/workflow.json)に配置します。
(ローカルPCから送る場合は scp コマンドなどを使用)
2. Dockerコンテナへのコピー
n8nが動作しているDockerコンテナの中に、そのファイルをコピーします。
docker cp /home/akira/workflow.json n8n-n8n-1:/home/node/workflow.json
n8n-n8n-1: n8nのコンテナ名(環境によって異なります)
3. インポートコマンドの実行
コンテナ内部の n8n コマンドを呼び出してインポートします。
docker exec -u node -i n8n-n8n-1 n8n import:workflow --input=/home/node/workflow.json
import:workflow: ワークフローをインポートするコマンド--input: 読み込むファイルのパス
これで、IDが一致するワークフローがあれば上書きされ、なければ新規作成されます。
以上