مستندات n8n
74+ نود
📬

دریافت ایمیل

Email (IMAP)

دریافت و پردازش خودکار ایمیل‌های ورودی با پروتکل IMAP

ارتباطات
متوسط
۰ بازدید
n8n 1.0+

نمای کلی

نود IMAP یک Trigger Node است که workflow را با دریافت ایمیل جدید فعال می‌کند.

قابلیت‌های کلیدی:

  • دریافت خودکار ایمیل‌های جدید
  • پشتیبانی از هر سرویس IMAP (Gmail, Outlook, Yahoo, ...)
  • استخراج متن، HTML و Attachments
  • فیلتر بر اساس Mailbox (INBOX, Sent, ...)
  • پشتیبانی از SSL/TLS
  • علامت‌گذاری ایمیل‌ها به عنوان خوانده شده
  • Polling interval تنظیم‌پذیر

تفاوت با Gmail Node:

  • IMAP: کار با هر سرویس ایمیل (عمومی)
  • Gmail: فقط Gmail با قابلیت‌های بیشتر (لیبل، جستجو)
  • IMAP Trigger: فعال کردن workflow با ایمیل جدید
  • Gmail Trigger: مشابه IMAP ولی فقط Gmail

کاربردها:

  • ایجاد تیکت پشتیبانی از ایمیل
  • پردازش خودکار سفارشات ایمیلی
  • ذخیره پیوست‌ها در Google Drive
  • پاسخ خودکار به ایمیل‌ها
  • استخراج داده از ایمیل (فاکتور، رسید)
  • Forward ایمیل به تلگرام
  • آرشیو خودکار ایمیل‌ها

احراز هویت

تنظیمات IMAP

اطلاعات مورد نیاز:

code
Host: آدرس سرور IMAP
Port: پورت (معمولاً 993 برای SSL)
User: آدرس ایمیل
Password: رمز عبور یا App Password
SSL/TLS: معمولاً ON

تنظیمات سرویس‌های رایج:

#### Gmail:

code
Host: imap.gmail.com
Port: 993
SSL: ON
User: your-email@gmail.com
Password: App Password (نه رمز اصلی!)

مهم - ساخت App Password در Gmail:

  1. 1به [myaccount.google.com](https://myaccount.google.com) بروید
  2. 2Security > 2-Step Verification فعال کنید
  3. 3Security > App Passwords
  4. 4Generate a new app password
  5. 5پسورد 16 رقمی را کپی کنید

فعال کردن IMAP در Gmail:

  1. 1Settings > See all settings
  2. 2Forwarding and POP/IMAP
  3. 3IMAP Access: Enable IMAP

#### Outlook / Office 365:

code
Host: outlook.office365.com
Port: 993
SSL: ON
User: your-email@outlook.com
Password: رمز عبور (یا App Password)

#### Yahoo Mail:

code
Host: imap.mail.yahoo.com
Port: 993
SSL: ON
User: your-email@yahoo.com
Password: App Password

#### سرور اختصاصی (cPanel):

code
Host: mail.yourdomain.com
Port: 993
SSL: ON
User: info@yourdomain.com
Password: رمز ایمیل

نکات امنیتی:

  • همیشه از App Password استفاده کنید (نه رمز اصلی)
  • SSL/TLS حتماً فعال باشد
  • از پورت 993 (SSL) استفاده کنید
  • دسترسی IMAP باید در تنظیمات ایمیل فعال باشد

عملیات‌های موجود

1

trigger

فعال کردن workflow با دریافت ایمیل جدید

کاربردهای متداول

1. ایجاد تیکت پشتیبانی از ایمیل

هر ایمیل به support@ تبدیل به تیکت شود:

code
IMAP Trigger (ایمیل جدید)
  → Set (استخراج اطلاعات)
    from = {{$json.from}}
    subject = {{$json.subject}}
    body = {{$json.text || $json.html}}
  → MySQL (Insert into tickets)
    subject, email, message, status='open'
  → Gmail (Send Reply)
    To: {{$json.from}}
    Subject: "Re: {{$json.subject}}"
    Body: "تیکت شما با شماره #{{$json.ticketId}} ثبت شد"
  → Telegram (اعلان به تیم)

2. پردازش سفارشات ایمیلی

دریافت سفارش از ایمیل:

code
IMAP Trigger (ایمیل جدید)
  → IF (subject شامل "سفارش" یا "order")
    → Code (استخراج جزئیات سفارش از متن)
    → MySQL (ذخیره سفارش)
    → Telegram (اعلان سفارش جدید)

3. ذخیره پیوست‌ها در Google Drive

آرشیو خودکار فایل‌های دریافتی:

code
IMAP Trigger (با Download Attachments: ON)
  → IF (has attachments)
    → Google Drive (Upload)
      Name: {{$json.attachments[0].filename}}
      Folder: Email-Attachments/{{$now.toFormat('yyyy-MM')}}
    → MySQL (لاگ فایل)

4. Forward ایمیل به تلگرام

اعلان ایمیل مهم در تلگرام:

code
IMAP Trigger (ایمیل جدید)
  → Telegram (sendMessage)
    Text:
      <b>ایمیل جدید</b>

      از: {{$json.from.text}}
      موضوع: {{$json.subject}}
      خلاصه: {{$json.text.substring(0, 200)}}...

5. پاسخ خودکار

Auto-reply در ساعات غیرکاری:

code
IMAP Trigger (ایمیل جدید)
  → IF (ساعت > 18 OR ساعت < 8)
    → Gmail (Send Reply)
      Subject: "Re: {{$json.subject}}"
      Body: "ایمیل شما دریافت شد. در ساعات کاری پاسخ داده خواهد شد."

6. استخراج فاکتور از ایمیل

پردازش فاکتورهای ایمیلی:

code
IMAP Trigger
  → IF (subject شامل "invoice" یا "فاکتور")
    → IF (has PDF attachment)
      → Google Drive (Upload PDF)
      → OpenAI (تحلیل محتوای فاکتور)
      → MySQL (ذخیره اطلاعات فاکتور)

7. فیلتر Spam و دسته‌بندی

دسته‌بندی خودکار ایمیل‌ها:

code
IMAP Trigger
  → OpenAI (Chat)
    "این ایمیل را دسته‌بندی کن: spam, support, order, newsletter"
    Input: {{$json.subject}} - {{$json.text}}
  → Switch (بر اساس category)
    → spam: Delete
    → support: Create Ticket
    → order: Process Order
    → newsletter: Archive

8. مانیتورینگ سرور از ایمیل

دریافت هشدارهای سرور:

code
IMAP Trigger (from: monitoring@server.com)
  → IF (subject شامل "CRITICAL" یا "DOWN")
    → Telegram (هشدار فوری به ادمین)
    → MySQL (لاگ رویداد)

نکات حرفه‌ای

نکات حرفه‌ای

  1. 1دسترسی به فیلدهای ایمیل:
javascript
// فرستنده
   {{$json.from.text}}  // "Ali <ali@example.com>"
   {{$json.from.value[0].address}}  // "ali@example.com"

   // گیرنده
   {{$json.to.text}}

   // موضوع
   {{$json.subject}}

   // متن ساده
   {{$json.text}}

   // HTML
   {{$json.html}}

   // تاریخ
   {{$json.date}}

   // پیوست‌ها
   {{$json.attachments}}
  1. 1Mailbox ها:
code
INBOX         → صندوق ورودی
   Sent          → ارسال شده
   Drafts        → پیش‌نویس
   Trash         → زباله‌دان
   Spam          → اسپم
   [Gmail]/All Mail → همه ایمیل‌ها (Gmail)
  1. 1Post Process Action:
code
nothing    → هیچ کاری نکن (ایمیل دوباره پردازش می‌شود!)
   read       → علامت خوانده شده بزن (توصیه)
   delete     → حذف ایمیل
  1. 1فیلتر ایمیل‌ها: در Code Node:
javascript
// فقط ایمیل‌های از دامنه خاص
   if (!$json.from.text.includes('@company.com')) return []

   // فقط ایمیل با پیوست
   if (!$json.attachments || $json.attachments.length === 0) return []

   // فقط موضوعات خاص
   if (!$json.subject.includes('Order')) return []
  1. 1Polling Interval مناسب:
code
ایمیل فوری (پشتیبانی): 1 دقیقه
   ایمیل عادی: 5 دقیقه
   ایمیل گزارش: 15 دقیقه
  1. 1استخراج لینک از ایمیل:
javascript
const urls = $json.html.match(/href="(https?:\/\/[^"]+)"/g)
  1. 1Multiple Email Accounts: برای چند اکانت، چند IMAP Trigger با Credential متفاوت بسازید.
  1. 1Error Handling: ایمیل‌های خطادار را لاگ کنید:
code
IMAP → Error Trigger → MySQL (لاگ خطا)
  1. 1پردازش HTML: از Code Node برای Parse HTML استفاده کنید.
  1. 1حجم ایمیل: ایمیل‌های بزرگ با پیوست ممکن است کند باشند. Download Attachments فقط وقتی لازم است فعال کنید.

رفع مشکلات

خطاهای رایج

1. خطای "Authentication failed"

علت: رمز عبور اشتباه یا App Password لازم

راه‌حل

  • Gmail: باید از App Password استفاده کنید (نه رمز اصلی)
  • 2-Step Verification فعال باشد
  • IMAP Access فعال باشد
  • Username کامل ایمیل باشد: user@gmail.com

2. خطای "Connection refused"

علت: Host یا Port اشتباه

راه‌حل

  • Host و Port صحیح سرویس ایمیل
  • SSL/TLS فعال باشد
  • Firewall پورت 993 باز باشد
  • از DNS صحیح مطمئن شوید

3. ایمیل‌ها دوباره پردازش می‌شوند

علت: ایمیل به عنوان خوانده شده علامت نمی‌خورد

راه‌حل

  • Post Process Action: Mark as Read
  • یا از فیلتر Unseen استفاده کنید
  • Polling interval مناسب تنظیم کنید

4. پیوست‌ها دانلود نمی‌شوند

علت: Download Attachments فعال نیست

راه‌حل

  • Download Attachments: ON
  • Attachment حجمش بالا نباشد
  • فضای سرور n8n کافی باشد

5. خطای SSL/TLS

علت: گواهی نامعتبر

راه‌حل

  • Allow Self-Signed Certificates فعال کنید
  • یا پورت 143 (بدون SSL) تست کنید
  • گواهی سرور بررسی شود

6. Polling خیلی کند است

علت: بازه زمانی Polling بالا

راه‌حل

  • Polling interval کاهش دهید (مثلاً 1 دقیقه)
  • اما خیلی کم نگذارید (بن شدن IP)
  • برای Gmail: از Gmail Trigger استفاده کنید (سریع‌تر)
اشتراک‌گذاری:

آیا این مستندات مفید بود؟