📬
دریافت ایمیل
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به [myaccount.google.com](https://myaccount.google.com) بروید
- 2Security > 2-Step Verification فعال کنید
- 3Security > App Passwords
- 4Generate a new app password
- 5پسورد 16 رقمی را کپی کنید
فعال کردن IMAP در Gmail:
- 1Settings > See all settings
- 2Forwarding and POP/IMAP
- 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: Archive8. مانیتورینگ سرور از ایمیل
دریافت هشدارهای سرور:
code
IMAP Trigger (from: monitoring@server.com)
→ IF (subject شامل "CRITICAL" یا "DOWN")
→ Telegram (هشدار فوری به ادمین)
→ MySQL (لاگ رویداد)نکات حرفهای
نکات حرفهای
- 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}}- 1Mailbox ها:
code
INBOX → صندوق ورودی
Sent → ارسال شده
Drafts → پیشنویس
Trash → زبالهدان
Spam → اسپم
[Gmail]/All Mail → همه ایمیلها (Gmail)- 1Post Process Action:
code
nothing → هیچ کاری نکن (ایمیل دوباره پردازش میشود!)
read → علامت خوانده شده بزن (توصیه)
delete → حذف ایمیل- 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 []- 1Polling Interval مناسب:
code
ایمیل فوری (پشتیبانی): 1 دقیقه
ایمیل عادی: 5 دقیقه
ایمیل گزارش: 15 دقیقه- 1استخراج لینک از ایمیل:
javascript
const urls = $json.html.match(/href="(https?:\/\/[^"]+)"/g)- 1Multiple Email Accounts: برای چند اکانت، چند IMAP Trigger با Credential متفاوت بسازید.
- 1Error Handling: ایمیلهای خطادار را لاگ کنید:
code
IMAP → Error Trigger → MySQL (لاگ خطا)- 1پردازش HTML: از Code Node برای Parse HTML استفاده کنید.
- 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 استفاده کنید (سریعتر)
اشتراکگذاری:
