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

ایمیل

Email (SMTP)

ارسال ایمیل با SMTP - سازگار با هر سرویس ایمیل

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

نمای کلی

نود Email Send یک نود عمومی برای ارسال ایمیل از طریق SMTP است.

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

  • ارسال ایمیل با هر سرویس SMTP
  • پشتیبانی از HTML و Plain Text
  • ارسال با CC و BCC
  • پیوست فایل (Attachments)
  • Reply-To سفارشی
  • تنظیم Priority ایمیل
  • پشتیبانی از SSL/TLS و STARTTLS

تفاوت با Gmail Node:

  • Email Send: عمومی، با هر سرویس SMTP
  • Gmail: فقط Gmail، قابلیت‌های بیشتر (لیبل، جستجو، OAuth2)
  • Email Send ساده‌تر ولی محدودتر است

کاربردها:

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

احراز هویت

تنظیمات SMTP

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

code
SMTP Host: آدرس سرور SMTP
SMTP Port: پورت (465 برای SSL, 587 برای TLS)
User: آدرس ایمیل
Password: رمز عبور یا App Password
SSL/TLS: ON

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

#### Gmail SMTP:

code
Host: smtp.gmail.com
Port: 465 (SSL) یا 587 (TLS)
User: your-email@gmail.com
Password: App Password (16 رقمی)
SSL: ON

#### Outlook / Office 365:

code
Host: smtp.office365.com
Port: 587
User: your-email@outlook.com
Password: رمز عبور
TLS: ON (STARTTLS)

#### Yahoo:

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

#### سرور cPanel:

code
Host: mail.yourdomain.com
Port: 465 (SSL) یا 587 (TLS)
User: info@yourdomain.com
Password: رمز ایمیل

#### Amazon SES:

code
Host: email-smtp.us-east-1.amazonaws.com
Port: 587
User: SMTP Username (از IAM)
Password: SMTP Password
TLS: ON

#### Mailgun:

code
Host: smtp.mailgun.org
Port: 587
User: postmaster@your-domain.mailgun.org
Password: SMTP Password
TLS: ON

نکات مهم:

  • Gmail: حتماً App Password بسازید
  • پورت 465: SSL مستقیم
  • پورت 587: STARTTLS (TLS بعد از اتصال)
  • پورت 25: بدون رمزنگاری (استفاده نکنید!)

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

1

send

ارسال ایمیل از طریق SMTP

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

1. ایمیل خوش‌آمدگویی

بعد از ثبت‌نام:

code
Webhook (ثبت‌نام موفق)
  → Email Send
    From: noreply@mysite.com
    To: {{$json.email}}
    Subject: "خوش آمدید {{$json.name}}"
    HTML:
      <div dir="rtl" style="font-family: Tahoma;">
        <h2>سلام {{$json.name}}</h2>
        <p>ثبت‌نام شما موفقیت‌آمیز بود.</p>
        <a href="https://mysite.com/dashboard">ورود به داشبورد</a>
      </div>

2. ارسال فاکتور

فاکتور PDF بعد از پرداخت:

code
Webhook (پرداخت موفق)
  → HTTP Request (دریافت PDF)
  → Email Send
    To: {{$json.email}}
    Subject: "فاکتور خرید #{{$json.orderId}}"
    HTML: قالب فاکتور
    Attachments: PDF Binary

3. یادآوری پرداخت

اعلان سررسید:

code
Schedule (هر روز ساعت 9)
  → MySQL (قبوض نزدیک سررسید)
  → Loop
    → Email Send
      To: {{$json.email}}
      Subject: "یادآوری: پرداخت {{$json.invoiceTitle}}"
      HTML: جزئیات قبض و لینک پرداخت
    → Wait (100ms)

4. خبرنامه

ارسال خبرنامه ماهانه:

code
Schedule (اول هر ماه)
  → MySQL (لیست مشترکین فعال)
  → Loop
    → Email Send
      To: {{$json.email}}
      Subject: "خبرنامه ماه {{$now.toFormat('MMMM')}}"
      HTML: محتوای خبرنامه
    → Wait (1 second)  // Rate Limit

5. گزارش خودکار

ارسال گزارش روزانه:

code
Schedule (هر شب ساعت 23)
  → MySQL (آمار فروش)
  → Code (تولید HTML گزارش)
  → Email Send
    To: managers@company.com
    Subject: "گزارش فروش {{$now.toFormat('yyyy/MM/dd')}}"
    HTML: جدول آمار فروش

6. اعلان خطا

هشدار به تیم فنی:

code
Error Trigger
  → Email Send
    To: devteam@company.com
    Subject: "خطا در Workflow: {{$json.workflow.name}}"
    HTML:
      <h3>جزئیات خطا:</h3>
      <pre>{{$json.error.message}}</pre>
      <p>زمان: {{$now.toFormat('yyyy/MM/dd HH:mm')}}</p>

7. تایید ایمیل

ارسال لینک تایید:

code
Webhook (ثبت‌نام)
  → Code (تولید توکن)
  → Email Send
    To: {{$json.email}}
    Subject: "تایید آدرس ایمیل"
    HTML:
      <p>لطفاً روی لینک زیر کلیک کنید:</p>
      <a href="https://mysite.com/verify?token={{$json.token}}">
        تایید ایمیل
      </a>

8. ارسال با Template

استفاده از قالب‌های از پیش تعریف شده:

code
Webhook → MySQL (خواندن Template)
  → Code (جایگذاری متغیرها)
    template.replace('{{name}}', $json.name)
    template.replace('{{orderId}}', $json.orderId)
  → Email Send (ارسال)

نکات حرفه‌ای

نکات حرفه‌ای

  1. 1HTML ایمیل فارسی: قالب RTL:
html
<html dir="rtl">
   <body style="font-family: Tahoma, Arial; direction: rtl;">
     <div style="max-width: 600px; margin: 0 auto; padding: 20px;">
       <h2 style="color: #333;">عنوان</h2>
       <p>متن پیام</p>
       <a href="https://example.com"
          style="background: #0066cc; color: white; padding: 12px 24px;
                 text-decoration: none; border-radius: 4px;">
         دکمه
       </a>
     </div>
   </body>
   </html>
  1. 1محدودیت‌های ارسال:
code
Gmail:        500/روز (رایگان), 2000/روز (Workspace)
   Outlook:      300/روز
   Yahoo:        500/روز
   Amazon SES:   50,000/روز (بسته به تنظیمات)
   Mailgun:      بسته به پلن
  1. 1ارسال به چند نفر: با , جدا کنید:
code
To: user1@example.com, user2@example.com
  1. 1BCC برای خبرنامه: گیرندگان نام هم را نبینند:
code
To: newsletter@mysite.com
   BCC: user1@example.com, user2@example.com, ...
  1. 1Attachment: از Binary Data:
code
HTTP Request (دانلود فایل, Response: File)
     → Email Send (Attachments: data)
  1. 1Reply-To: آدرس پاسخ متفاوت:
code
From: noreply@mysite.com
   Reply-To: support@mysite.com
  1. 1Priority Headers:
code
X-Priority: 1 (High)
   X-Priority: 3 (Normal)
   X-Priority: 5 (Low)
  1. 1Rate Limiting: بین ایمیل‌ها تاخیر:
code
Loop → Email Send → Wait (1-2 seconds) → Next
  1. 1Test First: قبل از ارسال انبوه، با ایمیل خودتان تست کنید.
  1. 1Email Service Providers: برای حجم بالا:
  • Amazon SES (ارزان‌ترین)
  • Mailgun
  • SendGrid
  • Postmark
  1. 1Inline Images: تصویر در متن ایمیل:
html
<img src="cid:logo" alt="logo">
    <!-- در Attachments: filename=logo, cid=logo -->
  1. 1Unsubscribe Header: رعایت قوانین:
code
List-Unsubscribe: <https://mysite.com/unsubscribe?email={{email}}>

رفع مشکلات

خطاهای رایج

1. خطای "Authentication failed"

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

راه‌حل

  • Gmail: از App Password استفاده کنید
  • 2-Step Verification فعال باشد
  • Username: آدرس ایمیل کامل
  • Less Secure Apps غیرفعال (App Password لازم)

2. خطای "Connection refused"

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

راه‌حل

  • Host صحیح: smtp.gmail.com نه mail.gmail.com
  • Port: 465 (SSL) یا 587 (TLS)
  • Firewall: پورت باز باشد
  • SSL/TLS تنظیم درست

3. ایمیل در Spam می‌رود

علت: تنظیمات DNS یا محتوا

راه‌حل

  • SPF Record تنظیم کنید
  • DKIM فعال کنید
  • DMARC تنظیم کنید
  • از IP معتبر ارسال کنید
  • محتوای HTML تمیز باشد
  • لینک‌های مشکوک نداشته باشد
  • Unsubscribe link اضافه کنید

4. خطای "Connection timeout"

علت: سرور SMTP در دسترس نیست

راه‌حل

  • اتصال اینترنت بررسی شود
  • DNS سرور n8n درست باشد
  • پورت در Firewall باز باشد
  • VPN فعال نباشد (ممکن است بلاک کند)

5. خطای "Sender address rejected"

علت: آدرس From مجاز نیست

راه‌حل

  • From Address: باید همان اکانت SMTP باشد
  • یا دامنه ایمیل Verify شده باشد
  • SPF Record برای IP ارسال

6. ایمیل ارسال نمی‌شود (بدون خطا)

علت: Rate Limit یا Queue

راه‌حل

  • ایمیل در Queue سرور ممکن است تاخیر داشته باشد
  • Rate Limit سرویس بررسی شود
  • لاگ SMTP سرور بررسی شود
اشتراک‌گذاری:

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