پاسخ‌دهی خودکار ایمیل با n8n

انتشار خودکار محتوا با n8n

مقدمه

پاسخ‌دهی خودکار ایمیل با n8n

پاسخ‌دهی خودکار ایمیل با n8n:

آموزش ساخت سیستم پاسخ‌دهی خودکار به ایمیل‌ها با هوش مصنوعی محلی Ollama و n8n

مدیریت روزانه ایمیل‌ها، دسته‌بندی آن‌ها و پاسخ‌گویی به پیام‌های تکراری یا اسپام یکی از زمان‌برترین فعالیت‌ها در دنیای کسب‌وکار امروزی است. با افزایش حجم مکاتبات، بسیاری از سازمان‌ها و افراد بخش عمده‌ای از زمان مفید خود را صرف بررسی صندوق ورودی (Inbox) می‌کنند. در چنین شرایطی، داشتن یک پاسخ‌دهی خودکار ایمیل با n8n که بتواند با بهره‌گیری از قدرت هوش مصنوعی، متن ایمیل‌ها را درک کرده، آن‌ها را فیلتر کند و پیش‌نویس پاسخ مناسب را آماده سازد، ابزاری حیاتی به شمار می‌رود.

با این حال، استفاده از سرویس‌های ابری هوش مصنوعی مانند OpenAI یا Claude همواره با چالش‌هایی همچون هزینه‌های بالای API و محدودیت‌های حریم خصوصی داده‌های حساس مواجه است. راهکار بهینه برای حل این مشکل، استفاده از مدل‌های زبانی بزرگ (LLM) به صورت کاملاً محلی و رایگان است. ابزار Ollama به شما این امکان را می‌دهد که مدل‌های قدرتمندی نظیر Llama 3 را بر روی سخت‌افزار شخصی یا سرور خود به صورت کاملاً آفلاین اجرا کنید. در این مقاله جامع، یاد خواهید گرفت که چگونه با ترکیب پلتفرم اتوماسیون محبوب n8n و هوش مصنوعی محلی Ollama، یک جریان کاری (Workflow) پیشرفته برای مدیریت، فیلتر و تولید پاسخ هوشمند برای ایمیل‌های ورودی ایجاد کنید تا بدون به خطر افتادن امنیت داده‌ها، بهره‌وری خود را به حداکثر برسانید.

قبل از شروع

اگر هنوز n8n را نصب نکرده‌اید، پیشنهاد می‌کنیم ابتدا مقاله «آموزش n8n» را مطالعه کنید. در آن مقاله، مراحل نصب با Node.js و Docker، راه‌اندازی اولیه و ساخت اولین Workflow به‌صورت کامل آموزش داده شده است. پس از نصب و راه‌اندازی، به این مقاله بازگردید و مراحل پیاده‌سازی این Workflow را دنبال کنید.

این Workflow چه کاری انجام می‌دهد؟

این جریان کاری یک اتوماسیون هوشمند بر پایه زمان‌بندی است. سیستم در فواصل زمانی مشخص (به طور پیش‌فرض هر ۵ دقیقه) به صندوق ورودی ایمیل شما متصل شده و ایمیل‌های خوانده‌نشده جدید را استخراج می‌کند. سپس متن، فرستنده و موضوع هر ایمیل را به هوش مصنوعی Ollama ارسال می‌کند. در مرحله اول، مدل هوش مصنوعی محلی وظیفه دارد ایمیل را دسته‌بندی کرده و مشخص کند که آیا پیام یک ایمیل معتبر (مانند سوال، درخواست فوری یا بازخورد) است یا یک پیام اسپام و تبلیغاتی.

در صورتی که ایمیل به عنوان اسپام شناسایی شود، سیستم آن را مسدود کرده و از ادامه فرآیند جلوگیری می‌کند. اما اگر ایمیل معتبر باشد، پیام به مرحله بعدی هدایت می‌شود؛ جایی که Ollama بر اساس متن اصلی ایمیل ورودی، یک پاسخ حرفه‌ای، دوستانه و متناسب با لحن سازمان شما تولید می‌کند. در نهایت، اطلاعات خروجی شامل متن پاسخ پیشنهادی، ایمیل فرستنده اصلی، موضوع بازنویسی شده و دسته‌بندی پیام یکپارچه‌سازی شده و به عنوان یک پیش‌نویس نهایی جهت بررسی انسانی آماده می‌گردد.

کاربردهای این Workflow

  • پشتیبانی خودکار از مشتریان: پاسخ‌گویی سریع به سوالات متداول کاربران در کوتاه‌ترین زمان ممکن و کاهش بار کاری تیم پشتیبانی.

  • فیلترینگ هوشمند اسپام: تشخیص و جداسازی ایمیل‌های تبلیغاتی و مزاحم با دقت بسیار بالاتر نسبت به فیلترهای سنتی مبتنی بر کلمات کلیدی.

  • اولویت‌بندی پیام‌های سازمانی: تشخیص ایمیل‌های فوری (Urgent) از پیام‌های عادی و ارجاع سریع‌تر آن‌ها به مدیران مربوطه.

  • مدیریت ایمیل‌ها در خارج از ساعات کاری: تولید پیش‌نویس پاسخ‌ها در ایام تعطیل یا ساعات شب برای حفظ رضایت مشتریان.

  • کاهش زمان انتظار مشتری: ارسال پاسخ یا آماده‌سازی پیش‌نویس برای تایید نهایی در کمتر از چند دقیقه پس از دریافت ایمیل.

  • حفظ حریم خصوصی داده‌های حساس: پردازش تمام متن ایمیل‌های شرکتی به صورت محلی در سرور اختصاصی بدون ارسال داده به شرکت‌های ثالث.

پیش‌نیازها

برای راه‌اندازی و اجرای بدون نقص این سیستم، به موارد زیر نیاز دارید:

  • نصب و راه‌اندازی n8n: دسترسی به پنل مدیریت n8n (نسخه داکر یا سلف-هاست).

  • نصب و اجرای Ollama: ابزار Ollama باید روی سیستم یا سرور شما در حال اجرا باشد و مدل llama3:8b (یا هر مدل دلخواه دیگر) روی آن دانلود شده باشد.

  • فعال‌سازی دسترسی به پورت Ollama: اطمینان از اینکه n8n می‌تواند به آدرس پورت محلی Ollama (به طور پیش‌فرض http://localhost:11434) متصل شود.

  • مشخصات حساب ایمیل (IMAP Credentials): نام کاربری، رمز عبور (یا App Password) و آدرس سرور IMAP ارائه‌دهنده ایمیل شما (مانند جی‌میل، یاهو یا ایمیل‌های سازمانی) جهت خواندن پیام‌ها.

دانلود Template

فایل JSON این Workflow را از این قسمت دانلود کنید.

رمز فایل: danixai.com

آموزش Import کردن Workflow

  1. وارد داشبورد n8n شوید.

  2. روی Import from File کلیک کنید.

  3. فایل JSON را انتخاب کنید.

  4. Workflow ایجاد خواهد شد.

  5. Credentialهای موردنیاز را تنظیم کنید.

ساختار Workflow و آموزش کامل Nodeها:

جریان داده در سیستم پاسخ‌دهی خودکار ایمیل با n8n به صورت خطی و متوالی مطابق با نمودار زیر انجام می‌شود:

1.Check Every 5 Minutes
  • وظیفه Node: این نود به عنوان محرک (Trigger) کل سیستم عمل می‌کند و وظیفه دارد فرآیند اتوماسیون را در فواصل زمانی منظم بیدار کند.

  • ورودی آن: این نود ورودی از بخش دیگری دریافت نمی‌کند و بر اساس زمان سیستم کار می‌کند.

  • خروجی آن: یک سیگنال شروع به همراه اطلاعات مربوط به زمان اجرای اتوماسیون.

  • تنظیمات مهم: پارامتر interval بر روی فیلد minutes و مقدار 5 تنظیم شده است تا هر ۵ دقیقه یک‌بار اجرا شود.

  • نکات قابل تغییر: شما می‌توانید این بازه زمانی را به ساعت، روز یا حتی کرون‌جاب (Cron) دلخواه تغییر دهید (مثلاً فقط در ساعات اداری اجرا شود).

  • دلیل استفاده: بدون این نود، سیستم به صورت خودکار متوجه دریافت ایمیل‌های جدید نخواهد شد و نیاز به اجرای دستی خواهد داشت.

2.Get Unread Emails (IMAP)
  • وظیفه Node: اتصال به سرور ایمیل شما و استخراج پیام‌هایی که وضعیت آن‌ها «خوانده‌نشده» است.

  • ورودی آن: سیگنال شروع از نود زمان‌بندی.

  • خروجی آن: لیستی از اشیاء حاوی اطلاعات کامل ایمیل‌ها شامل فرستنده (from)، موضوع (subject)، متن اصلی (text) و تاریخ.

  • تنظیمات مهم: پارامتر operation روی getAll، گزینه returnAll روی false جهت اعمال محدودیت، و limit روی ۱۰ قرار دارد. همچنین فیلتر readStatus روی unread تنظیم شده است.

  • نکات قابل تغییر: می‌توانید محدودیت تعداد دریافت ایمیل در هر پارت را افزایش دهید یا فیلترهای خاصی برای پوشه‌ها (Folders) اعمال کنید.

  • دلیل استفاده: این نود به عنوان پل ارتباطی بین صندوق پستی شما و محیط اتوماسیون عمل کرده و داده‌های خام را وارد سیستم می‌کند.

3.Classify Email (Ollama)
  • وظیفه Node: ارسال متن ایمیل به هوش مصنوعی محلی Ollama به منظور تحلیل محتوا و تعیین دسته‌بندی آن.

  • ورودی آن: اطلاعات ایمیل استخراج‌شده از نود قبلی.

  • خروجی آن: یک پاسخ متنی از هوش مصنوعی که دقیقاً شامل یکی از کلمات کلیدی دسته‌بندی است.

  • تنظیمات مهم: متد ارسال روی POST، آدرس URL روی http://localhost:11434/api/generate و پرامپت مهندسی شده برای خروجی تک‌کلمه‌ای بدون توضیحات اضافه تنظیم شده است. مقدار temperature روی 0.1 قرار داده شده تا مدل پاسخ‌های خلاقانه نداده و کاملاً دقیق عمل کند.

  • نکات قابل تغییر: می‌توانید دسته‌بندی‌های جدیدی به پرامپت اضافه کنید یا مدل زبانی را از llama3:8b به مدل‌های سبک‌تر مثل phi3 تغییر دهید.

  • دلیل استفاده : تفکیک هوشمند ایمیل‌ها قبل از پاسخ‌دهی برای جلوگیری از هدررفت منابع سرور و عدم پاسخ به پیام‌های اسپام.

4.Filter Spam
  • وظیفه Node: بررسی خروجی نود دسته‌بندی و متوقف کردن جریان کاری در صورت شناسایی پیام اسپام.

  • ورودی آن: خروجی متنی نود Ollama.

  • خروجی آن: اگر دسته‌بندی برابر با SPAM باشد، داده‌ها از خروجی False (که به جایی متصل نیست) عبور می‌کنند و فرآیند متوقف می‌شود؛ در غیر این صورت از خروجی True عبور می‌کنند.

  • تنظیمات مهم: شرط متنی بررسی می‌کند که خروجی پاک‌سازی‌شده Ollama دقیقاً با رشته متنی “SPAM” برابر باشد.

  • نکات قابل تغییر: می‌توانید شروط دیگری اضافه کنید؛ مثلاً ایمیل‌های دسته‌بندی URGENT به یک مسیر متفاوت و ایمیل‌های FEEDBACK به مسیر دیگری هدایت شوند.

  • دلیل استفاده : ایجاد یک فیلتر امنیتی و منطقی برای ممانعت از ارسال پاسخ‌های خودکار به ربات‌ها و ایمیل‌های تبلیغاتی مزاحم.

5.Draft Reply (Ollama)
  • وظیفه Node: تولید متن پاسخ نهایی و حرفه‌ای به ایمیل دریافتی بر اساس محتوای آن با استفاده از هوش مصنوعی.

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

  • خروجی آن: متن نگارش شده توسط هوش مصنوعی برای پاسخ به کاربر.

  • تنظیمات مهم: آدرس API همانند نود قبل است اما پرامپت تغییر کرده و از مدل خواسته شده تا به عنوان تیم پشتیبانی یک پاسخ کوتاه، حرفه‌ای و دوستانه بنویسد. مقدار temperature روی 0.5 تنظیم شده تا لحن پاسخ طبیعی‌تر و روان‌تر باشد.

  • نکات قابل تغییر: می‌توانید لحن پاسخ‌دهی (رسمی، صمیمی، شرکتی) و اطلاعات امضای انتهای ایمیل را در داخل پرامپت شخصی‌سازی کنید.

  • دلیل استفاده: مغز متفکر بخش تولید محتوای سیستم که زحمت نگارش متن پاسخ را کاملاً از روی دوش کاربر برمی‌دارد.

6.Prepare Draft for Review
  • وظیفه Node: جمع‌آوری تمامی داده‌های پراکنده در طول اتوماسیون و ساختاردهی به آن‌ها در قالب یک خروجی تمیز و یکپارچه.

  • ورودی آن: متن پاسخ تولید شده توسط نود قبلی و داده‌های اصلی ایمیل فرستنده.

  • خروجی آن: یک شیء ساختاریافته شامل چهار متغیر کلیدی: draft_reply، original_from، original_subject و category.

  • تنظیمات مهم: استفاده از عبارات جاوا اسکریپتی برای استخراج داده‌ها از نودهای قبلی با ساختار جدید.

  • نکات قابل تغییر: می‌توانید فیلدهای جدیدی مانند تاریخ پردازش یا شناسه ایمیل اصلی را جهت ذخیره‌سازی در دیتابیس به این نود اضافه کنید.

  • دلیل استفاده: آماده‌سازی نهایی داده‌ها به صورتی که نودهای بعدی (مانند ارسال ایمیل یا ثبت در گوگل شیت) بتوانند به راحتی و بدون نیاز به فرمول‌نویسی پیچیده از داده‌ها استفاده کنند.

نحوه شخصی‌سازی Workflow

برای هماهنگ‌سازی این پاسخ‌دهی خودکار ایمیل با n8n نسبت نیازهای خاص کسب‌وکار خود، می‌توانید بخش‌های زیر را به راحتی تغییر دهید:

  • تغییر پرامپت‌ها (Prompts): با ورود به نودهای شماره ۳ و ۵، می‌توانید متن داخل jsonBody را ویرایش کنید. برای مثال، می‌توانید به نود نگارش پاسخ دستور دهید که حتماً به زبان فارسی پاسخ دهد یا نام شرکت شما را در انتهای متن درج کند.

  • تغییر مدل هوش مصنوعی: اگر سیستم شما دارای پردازنده یا کارت گرافیک ضعیفی است، می‌توانید عبارت llama3:8b را در کدهای JSON تنظیمات نودها به مدل‌های کوچک‌تری مانند gemma:2b یا mistral تغییر دهید.

  • تغییر محرک و زمان‌بندی: با باز کردن نود اول، فرکانس بررسی را از ۵ دقیقه به زمان‌های طولانی‌تر تغییر دهید تا مصرف پردازنده سرور بهینه‌سازی شود.

  • افزودن نود ارسال نهایی: در نسخه فعلی، این اتوماسیون پیش‌نویس را آماده می‌کند. شما می‌توانید در انتهای سیستم، یک نود “Send Email (SMTP)” یا نود مخصوص جی‌میل اضافه کنید تا خروجی نود نهایی را مستقیماً به کاربر ارسال کند.

مزایای استفاده از سیستم پاسخ‌دهی خودکار ایمیل با n8n:

  • رایگان بودن هزینه هوش مصنوعی: به دلیل استفاده از Ollama، هیچ هزینه‌ای بابت توکن‌های مصرفی یا اشتراک ماهانه هوش مصنوعی پرداخت نمی‌کنید.

  • حفظ حریم خصوصی و امنیت داده‌ها: از آنجا که پردازش به صورت کاملاً Local انجام می‌شود، محتوای ایمیل‌های محرمانه شرکت شما از شبکه داخلی خارج نخواهد شد.

  • صرفه‌جویی فوق‌العاده در زمان: فرآیند خواندن، دسته‌بندی و نگارش پیش‌نویس پاسخ‌ها بدون نیاز به دخالت انسان انجام می‌شود.

  • پاسخ‌گویی ۲۴ ساعته: سیستم بدون وقفه و در تمام روزهای هفته فعال بوده و ایمیل‌های ورودی را مدیریت می‌کند.

  • دقت بالا در تفکیک محتوا: استفاده از مدل‌های هوشمند زبانی، خطای فیلترهای قدیمی اسپام را به شدت کاهش می‌دهد.

  • انعطاف‌پذیری در توسعه: به راحتی می‌توان سرویس‌های دیگری مانند گوگل شیت یا پیام‌رسان‌ها را برای مطلع کردن مدیران از ایمیل‌های فوری به این جریان کاری متصل کرد.

نکات مهم
  • روشن بودن دائم سرور Ollama: مطمئن شوید سرویس Ollama در پس‌زمینه سیستم شما همیشه در حال اجرا است؛ در غیر این صورت اتوماسیون با خطای اتصال مواجه می‌شود.

  • محدودیت دسترسی داکر به Localhost: اگر n8n را در کانتینر داکر اجرا کرده‌اید، آدرس localhost درون داکر به خود کانتینر اشاره دارد. در این حالت باید آدرس URL نودهای HTTP را به http://host.docker.internal:11434 تغییر دهید.

  • استفاده از App Password: برای سرویس‌هایی مانند جی‌میل، دیگر نمی‌توان از رمز عبور عادی حساب استفاده کرد و باید از بخش امنیت حساب گوگل خود یک App Password اختصاصی برای IMAP بخازید.

  • تنظیم لایه تایید انسانی: توصیه می‌شود قبل از ارسال مستقیم پاسخ‌ها به مشتریان، ابتدا خروجی این اتوماسیون را در یک سیستم واسط بررسی کرده و سپس دکمه ارسال را بزنید.

  • مدیریت منابع سخت‌افزاری: اجرای مدل Llama 3 نسخه 8B نیاز به حداقل ۸ الی ۱۶ گیگابایت حافظه رم دارد. در صورت کندی سیستم، از مدل‌های کم‌حجم‌تر استفاده کنید.

  • پاک‌سازی داده‌های خروجی: در نود دسته‌بندی از تابع .trim() استفاده شده تا فضاها و خطوط خالی احتمالی حذف شوند و شرط نود فیلتر به درستی کار کند.

  • محدودیت تعداد کاراکتر ورودی: در بخش کدهای ارسالی به Ollama، متن ایمیل با تابع .substring(0, 1000) محدود شده است تا از پر شدن حافظه موقت (Context Window) مدل جلوگیری شود.

  • پارامتر Timeout: زمان انتظار (Timeout) نودهای HTTP به دلیل زمان‌بر بودن فرآیند پردازش توسط هوش مصنوعی محلی، روی ۶۰ و ۱۲۰ ثانیه تنظیم شده است تا نودها زودتر از موعد با خطا متوقف نشوند.

خطاهای رایج (Troubleshooting)

۱. خطای ECONNREFUSED در نودهای HTTP

  • علت: نود n8n نمی‌تواند سرویس Ollama را پیدا کند یا سرویس Ollama روی سیستم فعال نیست.

  • راه‌حل: بررسی کنید که Ollama روشن باشد. در صورت استفاده از داکر، آدرس IP سیستم یا شناسه host.docker.internal را جایگزین کلمه localhost کنید.

۲. خطای Authentication Failed در نود IMAP

  • علت: اطلاعات ورود به حساب ایمیل اشتباه است یا ارائه‌دهنده ایمیل دسته‌بندی امنیتی جدیدی اعمال کرده است.

  • راه‌حل: فعال کردن تایید دو مرحله‌ای حساب ایمیل و ساخت یک گذرواژه اختصاصی برنامه (App Password) برای پروتکل IMAP.

۳. عدم خروج داده از نود Filter با وجود اسپام بودن ایمیل

  • علت: هوش مصنوعی کلمه SPAM را همراه با توضیحات یا کاراکترهای اضافی (مثل نقطه‌گذاری یا حروف کوچک) خروجی داده است.

  • راه‌حل: گزینه caseSensitive را در نود فیلتر خاموش نگه دارید و پرامپت نود اول را به گونه‌ای سخت‌گیرانه‌تر ویرایش کنید تا فقط و فقط کلمه کلیدی را برگرداند.

۴. خطای کمبود حافظه (Out of Memory / Timeout)

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

  • راه‌حل: مقدار پارامتر num_predict را در بدنه درخواست کاهش دهید یا از مدل‌های کوانتیزه شده و سبک‌تر مانند llama3:8b-instruct-q4_K_M استفاده کنید.

۵. خالی بودن متن پاسخ هوش مصنوعی (Empty Response)

  • علت: متن ایمیل ورودی خالی بوده یا حاوی کدهای سنگین HTML است که مدل توانایی خواندن آن‌ها را نداشته است.

  • راه‌حل: در نود IMAP تنظیمات را به گونه‌ای قرار دهید که فرمت متنی ساده (Plain Text) ایمیل استخراج شود، نه فرمت HTML.

سوالات متداول

۱. آیا برای استفاده از این Workflow حتماً باید کارت گرافیک قدرتمند داشته باشم؟

خیر، Ollama امکان اجرا بر روی پردازنده‌های معمولی (CPU) را نیز دارد؛ اما سرعت پاسخ‌دهی مدل روی CPU کندتر خواهد بود. برای عملکرد سریع، داشتن کارت گرافیک اختصاصی یا استفاده از مدل‌های زبانی بسیار کوچک توصیه می‌شود.

۲. آیا اطلاعات ایمیل‌های من به سرورهای شرکت‌های دیگر ارسال می‌شود؟

به هیچ وجه. تمام فرآیند پردازش متن، تحلیل دسته‌بندی و نگارش پاسخ توسط هوش مصنوعی به صورت کاملاً محلی روی رایانه یا سرور شخصی شما انجام می‌شود و هیچ داده‌ای به خارج از شبکه شما منتقل نخواهد شد.

۳. چگونه می‌توانم ترتیبی دهم که ایمیل‌ها بلافاصله پس از تولید پاسخ ارسال شوند؟

کافی است یک نود ارسل ایمیل مانند “Gmail” یا “SMTP” به انتهای جریان کاری (بعد از نود Prepare Draft) متصل کنید و متغیرهای فرستنده و متن پاسخ را به عنوان پارامترهای ورودی به آن پاس دهید.

۴. آیا این سیستم با ایمیل‌های زبان فارسی نیز سازگار است؟

بله، مدل‌های قدرتمندی مانند Llama 3 زبان فارسی را به خوبی پشتیبانی می‌کنند. برای دریافت نتایج بهتر به زبان فارسی، کافی است در متن پرامپت نود نگارش پاسخ، عبارت “Write the reply in Persian” را اضافه کنید.

۵. اگر در یک بازه زمانی هیچ ایمیل جدیدی دریافت نشود چه اتفاقی می‌افتد؟

نود IMAP در صورت نبود ایمیل جدید، داده‌ای به مراحل بعدی ارسال نمی‌کند و جریان کاری بدون مصرف منابع سخت‌افزاری اضافه در همان مرحله دوم به پایان می‌رسد تا زمان اجرای بعدی فرا برسد.

جمع‌بندی

راه اندازی یک سیستم پاسخ‌دهی خودکار ایمیل با n8n با بهره‌گیری از پلتفرم اتوماسیون و هوش مصنوعی محلی Ollama، یک راهکار انقلابی برای مدیریت زمان و افزایش بهره‌وری بدون پرداخت هزینه‌های گزاف مالی و امنیتی است. در این مقاله آموختید که چگونه می‌توان بدون نوشتن کدهای پیچیده، فرآیند دریافت، تحلیل، فیلتر کردن اسپام‌ها و در نهایت تولید پیش‌نویس‌های پاسخ هوشمند را کاملاً خودکار کرد. این سیستم به عنوان یک دستیار شبانه‌روزی تمام‌وقت در کنار شما خواهد بود و به شما اجازه می‌دهد تمرکز خود را بر روی کارهای کلیدی‌تر کسب‌وکار خود بگذارید. با شخصی‌سازی پرامپت‌ها و مدل‌های زبانی متناسب با نیاز خود، می‌توانید کارایی این سیستم را بیش از پیش افزایش دهید.

GIT

Categories: ,

توسعه توسط تیم میهن وردپرس