📧
جیمیل
Gmail
ارسال و دریافت ایمیل، مدیریت صندوق پستی Gmail
ارتباطات
متوسط
ویژه
۰بازدید
اشتراکگذاری:
مستندات رسمینمای کلی
نود Gmail یکی از پرکاربردترین نودهای n8n برای کار با ایمیل است.
قابلیتهای کلیدی:
- ارسال ایمیل با پیوست
- دریافت و خواندن ایمیلها
- جستجو در صندوق پستی
- مدیریت لیبلها (Labels)
- علامتگذاری به عنوان خوانده شده/نشده
- حذف ایمیلها
- پاسخ به ایمیلها
کاربردها:
- سیستم اعلانهای ایمیلی
- پردازش خودکار ایمیلهای دریافتی
- ارسال خبرنامه
- یادآوریهای ایمیلی
- پشتیبانی مشتری از طریق ایمیل
- پردازش فرمهای وب
مزایا:
- رایگان تا 2000 ایمیل در روز
- قابل اطمینان
- فیلترهای قدرتمند
- یکپارچه با سرویسهای گوگل
کاربردهای متداول
1. ارسال ایمیل اعلان خودکار
زمانی که کاربر ثبتنام میکند، ایمیل خوشآمدگویی ارسال شود:
code
Webhook (ثبتنام) → Gmail (Send)
- To: {{$json.email}}
- Subject: "خوش آمدید!"
- Message: قالب HTML خوشآمدگویی2. پردازش ایمیلهای دریافتی
خواندن ایمیلهای جدید و ذخیره در دیتابیس:
code
Schedule (هر 15 دقیقه) → Gmail (Get All)
- Label: INBOX
- Search: is:unread
→ IF (بررسی موضوع) → MySQL (ذخیره)
→ Gmail (Mark as Read)3. ارسال خبرنامه
ارسال ایمیل به لیست کاربران:
code
MySQL (لیست کاربران) → Gmail (Send)
- To: {{$json.email}}
- Subject: "خبرنامه ماهانه"
- Message: محتوای خبرنامه
- Attachments: فایل PDF4. یادآوری خودکار
ارسال یادآوری قبضها:
code
Schedule (هر روز 9 صبح) → MySQL (قبوض نزدیک به سررسید)
→ Gmail (Send)
- Subject: "یادآوری پرداخت قبض"
- Message: جزئیات قبض5. پشتیبانی از طریق ایمیل
خواندن ایمیلهای پشتیبانی و ایجاد تیکت:
code
Gmail Trigger (ایمیل جدید در support@)
→ Set (استخراج اطلاعات)
→ MySQL (ایجاد تیکت)
→ Gmail (Send Reply - تایید دریافت)6. ارسال فاکتور
ارسال فاکتور بعد از خرید:
code
Order Complete Webhook → PDF Generator (فاکتور)
→ Gmail (Send)
- To: {{$json.customer_email}}
- Subject: "فاکتور خرید شماره {{$json.order_id}}"
- Attachments: PDF فاکتور7. اعلان خطاها
اگر خطا رخ داد، به ادمین ایمیل بفرست:
code
Error Trigger → Gmail (Send)
- To: admin@example.com
- Subject: "⚠️ خطا در Workflow"
- Message: جزئیات خطا8. فیلتر و دستهبندی ایمیلها
خواندن ایمیلهای فاکتور و ذخیره:
code
Gmail Trigger (ایمیل جدید)
→ IF (subject شامل "invoice")
→ True: پردازش فاکتور + افزودن لیبل "Invoices"
→ False: نادیده بگیر9. پاسخ خودکار
پاسخ اتوماتیک به ایمیلهای خاص:
code
Gmail (Get All - unread)
→ IF (موضوع = "درخواست اطلاعات")
→ Gmail (Send)
- Reply-To: ایمیل اصلی
- Subject: Re: {{$json.subject}}
- Message: پاسخ از پیش تعریف شده
→ Gmail (Mark as Read)10. بکآپ ایمیلهای مهم
ذخیره ایمیلهای مهم در Google Drive:
code
Gmail (Get All)
- Search: label:important
→ Loop
→ Google Drive (Upload)
- File: محتوای ایمیل (HTML)
- Folder: Backupنکات حرفهای
💡 نکات حرفهای:
- 1Gmail Search Operators (جستجوی پیشرفته):
code
from:user@example.com // فرستنده
to:me // ایمیلهای به من
subject:invoice // موضوع شامل invoice
is:unread // خوانده نشده
is:starred // ستارهدار
has:attachment // دارای پیوست
filename:pdf // نوع فایل پیوست
after:2024/01/01 // بعد از تاریخ
before:2024/12/31 // قبل از تاریخ
larger:5M // بزرگتر از 5 مگابایت
label:important // دارای لیبل
in:inbox // در صندوق ورودی- 1ترکیب Operators:
code
from:boss@company.com AND subject:urgent
is:unread AND has:attachment
(from:user1 OR from:user2) AND subject:invoice- 1ارسال HTML زیبا:
html
<html dir="rtl">
<body style="font-family: Tahoma;">
<h1 style="color: #0066cc;">عنوان</h1>
<p>متن پیام</p>
<a href="https://example.com" style="background: #0066cc; color: white; padding: 10px;">دکمه</a>
</body>
</html>- 1ارسال به چند نفر: از کاما جدا کنید:
code
To: user1@example.com, user2@example.com, user3@example.com- 1افزودن پیوست: از Binary Data استفاده کنید:
javascript
Attachments: {{$binary.file}}- 1محدودیتهای Gmail:
- رایگان: 500 ایمیل/روز
- Google Workspace: 2000 ایمیل/روز
- حجم پیوست: 25 مگابایت
- تعداد گیرنده در یک ایمیل: 2000 نفر (100 توصیه میشود)
- 1استفاده از Templates: قالب ایمیل را در متغیر ذخیره کنید:
javascript
const template = `سلام {{name}}، سفارش شما آماده است.`- 1Unsubscribe Link: لینک لغو اشتراک اضافه کنید:
html
<a href="https://yoursite.com/unsubscribe?email={{email}}">لغو اشتراک</a>- 1Tracking: برای ردیابی باز شدن ایمیل:
html
<img src="https://yoursite.com/track/{{emailId}}.png" width="1" height="1">- 1Labels مفید:
- INBOX: صندوق ورودی
- SENT: ارسال شده
- DRAFT: پیشنویس
- SPAM: اسپم
- TRASH: زبالهدان
- STARRED: ستارهدار
- IMPORTANT: مهم
- UNREAD: خوانده نشده
- 1Rate Limiting: اگر ایمیل زیاد میفرستید، بین هر ایمیل 1-2 ثانیه صبر کنید:
code
Loop → Gmail (Send) → Wait (2 seconds)- 1Personalization: از Expression برای شخصیسازی:
code
سلام {{$json.firstName}}،
سفارش شما به شماره {{$json.orderId}} آماده است.- 1Error Handling: همیشه Error Trigger داشته باشید:
code
Gmail → Error Trigger → Telegram (اعلان خطا به ادمین)- 1Testing: قبل از ارسال انبوه، با ایمیل خودتان تست کنید.
- 1Backup: ایمیلهای مهم را بکآپ بگیرید (به Google Drive یا Database).
رفع مشکلات
خطاهای رایج
1. خطای "Insufficient Permission"
علت: Scopes کافی در OAuth ندارید
راهحل
- به Google Cloud Console بروید
- OAuth Consent Screen > Scopes
- Scopeهای لازم را اضافه کنید:
gmail.sendبرای ارسالgmail.readonlyبرای خواندنgmail.modifyبرای ویرایش- در n8n، credential را حذف و دوباره بسازید
2. خطای "Daily sending quota exceeded"
علت: محدودیت روزانه Gmail
راهحل
- Gmail رایگان: 500 ایمیل/روز
- Google Workspace: 2000 ایمیل/روز
- صبر کنید تا فردا یا سرویس ایمیل دیگری استفاده کنید
- از چند اکانت Gmail استفاده کنید
3. ایمیل در Spam میرود
علت: محتوا یا تنظیمات ایمیل
راهحل
- SPF, DKIM, DMARC تنظیم کنید
- از HTML تمیز استفاده کنید
- لینکهای مشکوک نگذارید
- از دامنه معتبر ارسال کنید
- تعداد گیرندگان را محدود کنید
4. خطای "Attachment too large"
علت: حجم پیوست بیش از 25 مگابایت
راهحل
- فایل را فشرده کنید
- یا به Google Drive آپلود کنید و لینک ارسال کنید
- از سرویس فایلشیرینگ استفاده کنید
5. Gmail Trigger کار نمیکند
علت: n8n به طور منظم چک نمیکند
راهحل
- از Schedule Trigger + Gmail Get All استفاده کنید
- یا Gmail API Push Notifications تنظیم کنید (پیشرفته)
6. خطای "Invalid credentials"
علت: Token منقضی شده
راهحل
- Credential را Reconnect کنید
- در n8n: Credentials > Gmail > Test Connection
7. Search کار نمیکند
علت: Gmail Query Syntax اشتباه است
راهحل
- از Gmail search operators استفاده کنید:
from:user@example.comsubject:invoiceis:unreadhas:attachmentafter:2024/01/01- چند شرط:
from:user AND subject:test