# IMAPからLINEへの通知ワークフロー構築手順書 このドキュメントでは、n8nを使用して「メール(IMAP)を受信し、LINE Messaging APIで通知する」ワークフローを構築する手順を説明します。 この手順は、Docker環境で動作するn8nを前提としています。 ## 1. 前提条件 * **n8n環境**: n8n v1.0以上が動作していること。 * **メールサーバー情報**: IMAP接続が可能なメールサービスのホスト名、ポート、ユーザー名、パスワード(Googleの場合はアプリパスワード)。 * **LINE Messaging API**: LINE Developersコンソールでチャネルが作成され、アクセストークン(ロングターム推奨)とユーザーIDが取得済みであること。 ## 2. 準備: コミュニティノードのインストール 標準のIMAPノードでは大量のメールを処理しきれない場合があるため、拡張機能であるコミュニティノードを使用します。 1. n8nの画面左下、または設定メニューから **[Settings]** > **[Community nodes]** を開きます。 2. **[Install a community node]** をクリックします。 3. 以下のパッケージ名を入力し、インストールします。 * Package Name: `n8n-nodes-imap-enhanced` * (承認が必要な場合はチェックを入れて進めてください) ## 3. ワークフローのインポート 添付のJSONファイル `n8n_imap_to_line_workflow.json` を使用すると、設定済みのワークフローを一括で読み込めます。 1. n8nのワークフロー一覧画面(Workflows)を開きます。 2. 右上のメニューから **[Import from File]** を選択し、JSONファイルをアップロードします。 3. または、新規ワークフローを作成し、画面右上のメニューから **[Import from File]** を選択します。 4. インポート後、画面を一度リロード(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推奨)。 ### 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 ` と半角スペースを入れる) * **Body**: JSON形式で送信内容を定義しています。 * `to`: あなたのLINEユーザーID (`U`から始まる文字列) に書き換えてください。 ## 5. 動作確認 1. 画面下部の **[Execute Workflow]** をクリックします。 2. 自分宛てにテストメールを送るなどして、未読メールがある状態で通知が届くか確認してください。 3. 問題なければ、画面右上の **[Active]** スイッチをONにして保存してください。 以上 ## 参考: CLI(コマンドライン)でのインポート方法 今回の作業では、ブラウザを使わずにサーバー内部のコマンドだけでインポートを行いました。 大量のワークフローを管理する場合や、自動化する場合に便利な方法です。 ### 1. サーバーへのファイル転送 作成したJSONファイルを、サーバー上の任意の場所(例: `/home/akira/workflow.json`)に配置します。 (ローカルPCから送る場合は `scp` コマンドなどを使用) ### 2. Dockerコンテナへのコピー n8nが動作しているDockerコンテナの中に、そのファイルをコピーします。 ```bash docker cp /home/akira/workflow.json n8n-n8n-1:/home/node/workflow.json ``` * `n8n-n8n-1`: n8nのコンテナ名(環境によって異なります) ### 3. インポートコマンドの実行 コンテナ内部の `n8n` コマンドを呼び出してインポートします。 ```bash docker exec -u node -i n8n-n8n-1 n8n import:workflow --input=/home/node/workflow.json ``` * `import:workflow`: ワークフローをインポートするコマンド * `--input`: 読み込むファイルのパス これで、IDが一致するワークフローがあれば上書きされ、なければ新規作成されます。 以上