بلاگ/راه‌اندازی میل سرور اختصاصی با Mailcow روی سرور اختصاصی و VPS
به‌روز شده

راه‌اندازی میل سرور اختصاصی با Mailcow روی سرور اختصاصی و VPS

1405/07/190 بازدید
راه‌اندازی میل سرور اختصاصی با Mailcow روی سرور اختصاصی و VPS

راه‌اندازی میل سرور اختصاصی با Mailcow روی سرور اختصاصی و VPS

اگر از جی‌میل یا یک سرویس میزبانی ایمیل اشتراکی خسته شده‌اید، یا کسب‌وکارتان به کنترل کامل روی داده‌های ایمیلی نیاز دارد، راه‌اندازی میل سرور با Mailcow یکی از ساده‌ترین راه‌های رسیدن به یک میل سرور کامل و خودمیزبان است (تفاوت دقیق‌تر این دو مدل را در تفاوت هاست اشتراکی و سرور مجازی (VPS) می‌توانید ببینید). Mailcow یک پک آمادهٔ Docker Compose است که SMTP، IMAP، آنتی‌اسپم، آنتی‌ویروس و وب‌میل را یک‌جا کنار هم می‌گذارد.

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

راه‌اندازی میل سرور اختصاصی با Mailcow

چرا Mailcow برای میل سرور اختصاصی؟

Mailcow چند سرویس را که معمولاً باید جداگانه نصب و تنظیم شوند در یک استک Docker Compose کنار هم می‌آورد: Postfix برای SMTP، Dovecot برای IMAP/POP3، Rspamd برای فیلتر اسپم، ClamAV برای آنتی‌ویروس و SOGo برای وب‌میل و تقویم. همهٔ این سرویس‌ها از طریق یک پنل مدیریتی وب قابل تنظیم‌اند، بدون نیاز به ویرایش دستی فایل‌های کانفیگ پراکنده.

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

پیش‌نیازها قبل از نصب

انتخاب بین سرور اختصاصی و VPS

Mailcow را می‌توان هم روی سرور اختصاصی و هم روی VPS نصب کرد؛ انتخاب بین این دو بیشتر به تعداد کاربر و اهمیت ایزولهٔ بودن منابع برمی‌گردد.

ویژگیVPSسرور اختصاصی
مناسب برایچند کاربر تا چند ده نفر، تیم‌های کوچکچند صد میل‌باکس، استفادهٔ سنگین
هزینهٔ شروعپایین‌تر، مناسب تست و راه‌اندازی اولیهبالاتر، اما بدون اشتراک منابع
ایزولهٔ منابع و IPمنابع و رنج IP روی زیرساخت اشتراکیمنابع و IP کاملاً اختصاصی
مقیاس‌پذیریارتقای پلن ساده، محدود به سقف پلنافزایش RAM/دیسک به‌صورت فیزیکی

برای شروع و تست، یک VPS کفایت می‌کند؛ وقتی تعداد میل‌باکس‌ها و حجم ایمیل روزانه بالا رفت، مهاجرت به سرور اختصاصی منطقی‌تر است.

حداقل مشخصات پیشنهادی برای Mailcow: ۲ هسته CPU، ۴ گیگابایت RAM و حداقل ۴۰ گیگابایت فضای دیسک (ترجیحاً SSD). برای چند صد میل‌باکس فعال، RAM و فضای دیسک باید متناسب افزایش پیدا کند، چون Rspamd و ClamAV در حافظه اجرا می‌شوند. برای انتخاب دقیق‌تر آی‌پی اختصاصی، رم و لوکیشن، خرید سرور برای میل سرور اختصاصی را هم ببینید.

پیش از ادامه، مطمئن شوید دسترسی به سرور از همین ابتدا امن است؛ امن‌سازی دسترسی SSH به سرور لینوکس نقطهٔ شروع خوبی است.

تنظیمات DNS پایه

قبل از نصب، این موارد باید روی دامنه تنظیم شده باشند:

  • رکورد A که ساب‌دامین میل (مثلاً mail.example.com) را به IP سرور وصل می‌کند.
  • رکورد MX دامنهٔ اصلی که به همان ساب‌دامین میل اشاره می‌کند.
  • رکورد PTR (ریورس DNS) که IP سرور را به mail.example.com برمی‌گرداند؛ بدون PTR صحیح، بسیاری از سرورهای دریافت‌کننده ایمیل‌های شما را رد یا در اسپم قرار می‌دهند.

رکورد PTR معمولاً از پنل ارائه‌دهندهٔ سرور تنظیم می‌شود، نه از پنل DNS دامنه. اگر دامنهٔ شما هنوز روی DNS مدیریت‌شده نیست، پیش از ادامه راهنمای خرید DNS مدیریت‌شده را بررسی کنید.

نصب Docker و Docker Compose

Mailcow روی هر توزیع لینوکسی که Docker و Docker Compose را اجرا کند کار می‌کند؛ Debian یا Ubuntu LTS گزینه‌های رایج هستند.

curl -fsSL https://get.docker.com | sh
apt install docker-compose-plugin -y
docker --version
docker compose version

دانلود و پیکربندی Mailcow

دریافت کد و فایل mailcow.conf

git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized
./generate_config.sh

اسکریپت generate_config.sh سؤالاتی مثل نام هاست (همان mail.example.com) و تایم‌زون می‌پرسد و فایل mailcow.conf را می‌سازد. مقادیر مهمی که باید قبل از اجرا بررسی کنید:

  • MAILCOW_HOSTNAME دقیقاً باید با رکورد A و PTR یکی باشد.
  • HTTP_PORT و HTTPS_PORT اگر پورت ۸۰ یا ۴۴۳ قبلاً توسط سرویس دیگری (مثلاً Nginx یا پنل کنترل) گرفته شده، باید تغییر کنند یا آن سرویس به‌عنوان reverse proxy جلوی Mailcow قرار بگیرد.

بالا آوردن سرویس‌ها

docker compose pull
docker compose up -d

اولین اجرا چند دقیقه طول می‌کشد تا همهٔ کانتینرها (Postfix، Dovecot، Rspamd، ClamAV، SOGo، دیتابیس) بالا بیایند. وضعیت را با docker compose ps بررسی کنید.

پس از بالا آمدن، پنل مدیریتی روی https://mail.example.com در دسترس است. نام کاربری و رمز پیش‌فرض ادمین (admin / moohoo) باید در همان جلسهٔ اول تغییر کند.

تنظیم رکوردهای SPF، DKIM و DMARC

بدون این سه رکورد، ایمیل‌های ارسالی از میل سرور شما با احتمال بالا در پوشهٔ اسپم گیرنده‌ها قرار می‌گیرند یا کلاً رد می‌شوند. پنل Mailcow کلید DKIM را خودش می‌سازد؛ کافی است بقیه را روی DNS دامنه ثبت کنید.

رکوردنوعهدفمحل دریافت مقدار
SPFTXT روی دامنهٔ اصلیمشخص می‌کند کدام سرورها حق ارسال ایمیل از طرف دامنه را دارندمقدار ثابت، مثل v=spf1 mx ~all
DKIMTXT روی dkim._domainkeyامضای رمزنگاری‌شدهٔ هدر ایمیل برای اثبات اصالت فرستندهاز بخش Configuration > ARC/DKIM Keys در پنل Mailcow
DMARCTXT روی _dmarcتعیین می‌کند با ایمیل‌هایی که SPF/DKIM را رد می‌کنند چه کار شودمقدار ثابت، مثل v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com

تنظیم رکوردهای DNS برای تحویل‌پذیری ایمیل در راه‌اندازی میل سرور با Mailcow

برای DMARC بهتر است در هفته‌های اول با p=none شروع کنید تا فقط گزارش دریافت کنید، و بعد از بررسی گزارش‌ها به p=quarantine یا p=reject تغییر دهید؛ تغییر ناگهانی به reject قبل از اطمینان از صحت SPF/DKIM می‌تواند ایمیل‌های واقعی شما را هم مسدود کند.

استفاده از وب‌میل SOGo

SOGo رابط وب‌میل پیش‌فرض Mailcow است و علاوه بر ایمیل، تقویم و دفترچه تماس هم دارد. آدرس دسترسی معمولاً همان https://mail.example.com/SOGo/ است.

کاربران جدید از همان پنل مدیریتی Mailcow (بخش Mail Setup > Mailboxes) ساخته می‌شوند؛ هر میل‌باکس به‌صورت خودکار در SOGo هم فعال می‌شود، بدون تنظیم جداگانه.

برای کلاینت‌های دسکتاپ یا موبایل (Outlook، Thunderbird، اپ ایمیل گوشی)، Mailcow از autodiscover و autoconfig پشتیبانی می‌کند؛ کافی است ایمیل و رمز عبور وارد شود و تنظیمات IMAP/SMTP به‌صورت خودکار پیدا می‌شوند.

رفع مشکلات رایج تحویل ایمیل

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

مشکلعلت احتمالیراه‌حل
ایمیل در پوشهٔ اسپم گیرندهرکورد SPF/DKIM/DMARC ناقص یا PTR اشتباهبا ابزار mail-tester.com بررسی کنید و رکوردها را اصلاح کنید
پورت ۲۵ بسته یا مسدودبسیاری از ارائه‌دهندگان VPS پورت ۲۵ را به‌صورت پیش‌فرض مسدود می‌کننداز ارائه‌دهنده بخواهید پورت ۲۵ خروجی را باز کند
IP در بلک‌لیست قرار گرفتهIP قبلاً توسط مالک قبلی برای اسپم استفاده شده بودبا سرویس‌هایی مثل MXToolbox وضعیت IP را بررسی و درخواست حذف از لیست بدهید
ارسال موفق ولی دریافت نشده توسط گیرنده‌های Gmail/Outlookحجم کم ارسال از IP جدید، بدون تاریخچهٔ reputationارسال را به‌تدریج افزایش دهید (IP warm-up) به‌جای ارسال حجم بالا از روز اول

لاگ‌های Postfix و Rspamd در پنل Mailcow (بخش Logs) قابل مشاهده‌اند و برای عیب‌یابی دقیق‌تر هر ایمیل رد شده مفیدند.

برای مدیریت دقیق‌تر پورت‌های باز روی سرور و جلوگیری از مسدود شدن پورت‌های لازم برای SMTP/IMAP، راه‌اندازی فایروال nftables روی سرور لینوکس را ببینید.

نگهداری و بکاپ

Mailcow اسکریپت بکاپ آماده دارد:

./helper-scripts/backup_and_restore.sh backup all /path/to/backup

این دستور دیتابیس، میل‌باکس‌ها و تنظیمات را در یک مسیر مشخص ذخیره می‌کند؛ بهتر است این مسیر روی استوریجی جدا از خود سرور قرار بگیرد. برای به‌روزرسانی، اسکریپت update.sh همراه پروژه قبل از هر آپدیت یک بکاپ خودکار می‌گیرد.

جمع‌بندی

راه‌اندازی میل سرور با Mailcow نیازی به دانش عمیق از Postfix یا Dovecot ندارد، چون پنل مدیریتی بیشتر تنظیمات روزمره را پوشش می‌دهد. نکتهٔ اصلی که کیفیت تحویل ایمیل را تعیین می‌کند، DNS است: PTR درست، SPF، DKIM و DMARC تنظیم‌شده، و یک IP با سابقهٔ تمیز.

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