Initial commit: IMAP to LINE notification workflow

This commit is contained in:
akira
2026-02-11 12:32:32 +09:00
commit 37f2185d2e
2 changed files with 202 additions and 0 deletions

View File

@@ -0,0 +1,106 @@
# 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が一致するワークフローがあれば上書きされ、なければ新規作成されます。
以上