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

جی‌میل

Gmail

ارسال و دریافت ایمیل، مدیریت صندوق پستی Gmail

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

نمای کلی

نود Gmail یکی از پرکاربردترین نودهای n8n برای کار با ایمیل است.

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

  • ارسال ایمیل با پیوست
  • دریافت و خواندن ایمیل‌ها
  • جستجو در صندوق پستی
  • مدیریت لیبل‌ها (Labels)
  • علامت‌گذاری به عنوان خوانده شده/نشده
  • حذف ایمیل‌ها
  • پاسخ به ایمیل‌ها

کاربردها:

  • سیستم اعلان‌های ایمیلی
  • پردازش خودکار ایمیل‌های دریافتی
  • ارسال خبرنامه
  • یادآوری‌های ایمیلی
  • پشتیبانی مشتری از طریق ایمیل
  • پردازش فرم‌های وب

مزایا:

  • رایگان تا 2000 ایمیل در روز
  • قابل اطمینان
  • فیلترهای قدرتمند
  • یکپارچه با سرویس‌های گوگل

احراز هویت

احراز هویت Gmail

Gmail از OAuth2 استفاده می‌کند که امن‌ترین روش احراز هویت است.

روش 1: OAuth2 (توصیه می‌شود)

#### مرحله 1: ایجاد پروژه در Google Cloud Console

  1. 1به [Google Cloud Console](https://console.cloud.google.com/) بروید
  2. 2پروژه جدید بسازید یا یکی از پروژه‌های موجود را انتخاب کنید
  3. 3به APIs & Services > OAuth consent screen بروید
  4. 4نوع User Type را External انتخاب کنید
  5. 5اطلاعات اپلیکیشن را پر کنید (نام، ایمیل)
  6. 6Scopes را اضافه کنید:
  • https://www.googleapis.com/auth/gmail.send (ارسال ایمیل)
  • https://www.googleapis.com/auth/gmail.readonly (خواندن ایمیل)
  • https://www.googleapis.com/auth/gmail.modify (ویرایش ایمیل)
  1. 1Test users را اضافه کنید (ایمیل خودتان)

#### مرحله 2: ایجاد OAuth Credentials

  1. 1به APIs & Services > Credentials بروید
  2. 2Create Credentials > OAuth client ID
  3. 3Application type: Web application
  4. 4نام دلخواه بگذارید
  5. 5Authorized redirect URIs:
  • برای n8n cloud: https://your-n8n.app/rest/oauth2-credential/callback
  • برای self-hosted: https://your-domain.com/rest/oauth2-credential/callback
  1. 1Create کنید
  2. 2Client ID و Client Secret را کپی کنید

#### مرحله 3: فعال کردن Gmail API

  1. 1به APIs & Services > Library بروید
  2. 2"Gmail API" را جستجو کنید
  3. 3روی Gmail API کلیک کنید
  4. 4Enable کنید

#### مرحله 4: تنظیم در n8n

  1. 1در n8n به Credentials بروید
  2. 2Gmail OAuth2 API را انتخاب کنید
  3. 3اطلاعات را وارد کنید:
  • Client ID: از مرحله 2
  • Client Secret: از مرحله 2
  1. 1Connect my account کلیک کنید
  2. 2با اکانت Gmail خود وارد شوید
  3. 3دسترسی‌ها را تایید کنید

روش 2: Service Account (برای کاربرد سازمانی)

برای استفاده در Google Workspace (G Suite):

  1. 1Service Account در Google Cloud Console بسازید
  2. 2JSON Key فایل دانلود کنید
  3. 3Domain-wide delegation فعال کنید
  4. 4در n8n، Service Account JSON را وارد کنید

روش 3: App Password (برای تست)

⚠️ توصیه نمی‌شود: امنیت کمتر

  1. 1به تنظیمات اکانت Google بروید
  2. 2Security > 2-Step Verification فعال کنید
  3. 3App Passwords ایجاد کنید
  4. 4Password تولید شده را کپی کنید

نکات امنیتی:

  • OAuth2 امن‌ترین روش است
  • هرگز Client Secret را به اشتراک نگذارید
  • از 2-Step Verification استفاده کنید
  • دسترسی‌های غیرضروری نخواهید

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

1

send

ارسال ایمیل جدید از طریق Gmail

2

getAll

دریافت لیست ایمیل‌ها از صندوق پستی

3

get

خواندن یک ایمیل خاص

4

delete

حذف ایمیل یا انتقال به سطل زباله

5

addLabels

افزودن لیبل به ایمیل

6

removeLabels

حذف لیبل از ایمیل

7

markAsRead

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

8

markAsUnread

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

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

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: فایل PDF

4. یادآوری خودکار

ارسال یادآوری قبض‌ها:

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

نکات حرفه‌ای

💡 نکات حرفه‌ای:

  1. 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. 1ترکیب Operators:
code
from:boss@company.com AND subject:urgent
   is:unread AND has:attachment
   (from:user1 OR from:user2) AND subject:invoice
  1. 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. 1ارسال به چند نفر: از کاما جدا کنید:
code
To: user1@example.com, user2@example.com, user3@example.com
  1. 1افزودن پیوست: از Binary Data استفاده کنید:
javascript
Attachments: {{$binary.file}}
  1. 1محدودیت‌های Gmail:
  • رایگان: 500 ایمیل/روز
  • Google Workspace: 2000 ایمیل/روز
  • حجم پیوست: 25 مگابایت
  • تعداد گیرنده در یک ایمیل: 2000 نفر (100 توصیه می‌شود)
  1. 1استفاده از Templates: قالب ایمیل را در متغیر ذخیره کنید:
javascript
const template = `سلام {{name}}، سفارش شما آماده است.`
  1. 1Unsubscribe Link: لینک لغو اشتراک اضافه کنید:
html
<a href="https://yoursite.com/unsubscribe?email={{email}}">لغو اشتراک</a>
  1. 1Tracking: برای ردیابی باز شدن ایمیل:
html
<img src="https://yoursite.com/track/{{emailId}}.png" width="1" height="1">
  1. 1Labels مفید:
  • INBOX: صندوق ورودی
  • SENT: ارسال شده
  • DRAFT: پیش‌نویس
  • SPAM: اسپم
  • TRASH: زباله‌دان
  • STARRED: ستاره‌دار
  • IMPORTANT: مهم
  • UNREAD: خوانده نشده
  1. 1Rate Limiting: اگر ایمیل زیاد می‌فرستید، بین هر ایمیل 1-2 ثانیه صبر کنید:
code
Loop → Gmail (Send) → Wait (2 seconds)
  1. 1Personalization: از Expression برای شخصی‌سازی:
code
سلام {{$json.firstName}}،
    سفارش شما به شماره {{$json.orderId}} آماده است.
  1. 1Error Handling: همیشه Error Trigger داشته باشید:
code
Gmail → Error Trigger → Telegram (اعلان خطا به ادمین)
  1. 1Testing: قبل از ارسال انبوه، با ایمیل خودتان تست کنید.
  1. 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.com
  • subject:invoice
  • is:unread
  • has:attachment
  • after:2024/01/01
  • چند شرط: from:user AND subject:test
اشتراک‌گذاری:

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