من مضيف جديد إلى تدفق بريد إنتاجي في 8 خطوات
يعتمد خادم البريد على شبكته أكثر من اعتماده على عتاده: فإذا كان المنفذ 25 محظورًا أو كان Reverse DNS (PTR) مفقودًا، فلن تُسلَّم الرسائل مهما كانت قوة المعالج. يرشدكم هذا الدليل بترتيب صارم من فحوصات ما قبل الإعداد مرورًا بالإعداد وDKIM ثنائي المفتاح وTLS وإعداد الأجهزة المحمولة وصولًا إلى أول تسليم مُتحقق منه.
كيف يُقلع nextxch ويصل إلى مرحلة الإنتاج
يجمع nextxch ESMTP وIMAP4rev2 وPOP3 وJMAP وExchange ActiveSync وCalDAV/CardDAV وManageSieve وSpamGuard وأرشيف GoBD WORM ولوحة الإدارة (/admin/) وnextxch Webmail PWA (/mail/) في ملف تنفيذي واحد آمن للذاكرة (~40 إلى 90 MB من ذاكرة RAM في وضع الخمول). لا يُنزَّل أي شيء من GitHub عند التشغيل الأول، ولا حاجة إلى مغلّفات NSSM خارجية أو Redis أو Rspamd أو حاويات Webmail منفصلة.
متطلبات النظام والشبكة (قائمة التحقق قبل البدء)
تحققوا من جميع البنود الستة أدناه قبل التثبيت. يُتحكم في أربعة منها خارج الخادم، في لوحة تحكم الاستضافة أو DNS لديكم.
| المنفذ | البروتوكول / الخدمة | الاتجاه | المتطلب والإرشاد |
|---|---|---|---|
25 / TCP | ESMTP (MX بين الخوادم + STARTTLS/DANE) | الوارد والصادر | مطلوب - ضروري لاستقبال بريد الإنترنت وتسليمه. |
443 / TCP | HTTPS (/admin/، /mail/، JMAP، ActiveSync، DAV، MTA-STS) | وارد (+ صادر) | مطلوب - يخدم Webmail والإدارة وMobile Push وDAV وJMAP وACME. |
465 / TCP | إرسال SMTPS (Implicit TLS، RFC 8314) | الوارد | مطلوب - منفذ الإرسال المفضّل عبر TLS الضمني (RFC 8314). |
587 / TCP | إرسال SMTP (STARTTLS) | الوارد | مطلوب - إرسال STARTTLS القياسي لـ Outlook والطابعات وأنظمة ERP. |
993 / TCP | IMAPS (IMAP4rev2 Implicit TLS) | الوارد | مطلوب - IMAP4rev2 مشفر مع Push عبر IDLE دون استطلاع دوري. |
80 / TCP | HTTP (ACME HTTP-01 و Autoconfig) | الوارد | موصى به (اختياري عند استخدام TLS-ALPN-01 أو PFX من البوابة). |
4190 / TCP | ManageSieve (STARTTLS) | الوارد | اختياري (محرر Sieve المرئي في Webmail يعمل بالفعل عبر 443). |
143 / TCP | IMAP (STARTTLS) | الوارد | اختياري (يُفضَّل المنفذ 993 مع TLS الضمني). |
995 / TCP | POP3S (TLS ضمني) | الوارد | اختياري (فقط إذا كان POP3 مفعّلًا في الإدارة > الشبكة؛ وهو معطّل افتراضيًا). |
110 / TCP | POP3 (STLS) | الوارد | اختياري (يُفضّل المنفذ 995 مع TLS ضمني). |
| حجم النشر | CPU | الذاكرة (RAM) | القرص وقاعدة البيانات الموصى بها |
|---|---|---|---|
| 1 - 250 صندوق بريد | 2 vCPU | 1 - 2 GB | NVMe/SSD · SQLite WAL مدمج + Zstandard (بصمة خادم ~40-90 MB). |
| 250 - 2,500 صندوق بريد | 4 vCPU | 4 - 8 GB | NVMe + Hybrid S3 اختياري · PostgreSQL 18 أو Microsoft SQL Server (2019-2025). |
| عنقود HA لأكثر من 2,500 | 8+ vCPU | 16+ GB | عقد Active-Active على PostgreSQL 18 أو SQL Server Always On + S3 Object Lock. |
اختيار المنصة وواجهة التخزين الخلفية
تشغّل كل منصة مجموعة الميزات نفسها تمامًا. اختاروا طريقة النشر وخلفية SQL اللتين تناسبان فريق التشغيل لديكم.
| المنصة | الطريقة | الأنسب لـ |
|---|---|---|
| Windows Server 2019-2025 | .msi / install.ps1 | خدمة Windows SCM أصلية دون Docker أو NSSM؛ مثالية إلى جانب Microsoft SQL Server أو عند الترحيل من hMailServer. |
| Linux (x86_64 & ARM64) | install.sh · .deb · systemd | خدمة systemd خفيفة دون صلاحيات root على خوادم Debian أو Ubuntu LTS أو RHEL/Rocky أو ARM64. |
| Docker Compose | nextxch/server:1.0.0 | حزم حاويات قابلة للتكرار عبر مضيفي Linux وأجهزة Proxmox الافتراضية وSynology وUGREEN وUnraid. |
| macOS وKubernetes | launchd / Helm v3 | خوادم Mac mini المكتبية (launchd) أو عناقيد Kubernetes أفقية بنمط Active-Active. |
البرنامج التعليمي في 8 خطوات: من التثبيت إلى أول رسالة اختبار موثّقة
اختاروا منصتكم المستهدفة أدناه. توضح كل خطوة من الخطوات الثماني ما تفعله، وتعرض الأمر الدقيق، وتؤكد النتيجة المتوقعة، وتبرز أكثر الأخطاء شيوعًا في موضع حدوثها تمامًا.
تثبيت الخدمة وفتح منافذ جدار الحماية
ينزّل حزمة الإصدار، ويتحقق من ملخص SHA-256 الخاص بها، ويسجّل خدمة الخلفية ودليل البيانات الدائم.
# PowerShell (Admin): Downloads .msi (v1.0.0), verifies SHA-256 & launches setup irm https://nextxch.com/install.ps1 | iex # Ensure Windows Defender Firewall permits inbound mail & HTTPS ports New-NetFirewallRule -DisplayName "nextxch" -Direction Inbound ` -Protocol TCP -LocalPort 25,80,443,465,587,993,4190 -Action Allow
# Debian / Ubuntu / RHEL / macOS: Verifies SHA-256 & registers systemd unit curl -fsSL https://nextxch.com/install.sh | sudo bash # If UFW is enabled, allow required mail & HTTPS ports: sudo ufw allow 25,80,443,465,587,993,4190/tcp
# Pulls SHA-256-verified nextxch/server:1.0.0 & writes docker-compose.yml curl -fsSL https://nextxch.com/install.sh | sudo bash -s -- \ --mode docker --domain firma.de --hostname mail.firma.de --admin admin@firma.de
التحقق من سلامة الخدمة وتسجيل الدخول إلى /admin/
تأكدوا من بدء تشغيل المستمعين بشكل سليم في السجلات، وسجّلوا الدخول إلى لوحة الإدارة ببيانات اعتماد المسؤول التي ضُبطت أثناء التثبيت.
Get-Service nextxch # Open in browser: https://mail.firma.de/admin/ (or http://localhost/admin/)
sudo systemctl status nextxch sudo journalctl -u nextxch -n 30 --no-pager # Open in browser: https://mail.firma.de/admin/
docker compose ps docker compose logs --tail=30 nextxch # Open in browser: https://mail.firma.de/admin/
إعداد نطاق البريد وDKIM المزدوج المفتاح بالتوازي
افتحوا Domains & Routing -> Manage Domain في /admin/. يوفّر nextxch تلقائيًا زوجين متوازيين من مفاتيح DKIM: RSA-2048 (المحدد s2026) وEd25519 (المحدد s2026ed).
تفعيل شهادة TLS (ACME Let's Encrypt أو PFX من البوابة)
افتحوا Security & Certificates -> TLS & ACME. وبمجرد أن يُحلّ mail.company.com إلى مضيفكم، اطلبوا شهادة Let's Encrypt عبر HTTP-01 أو TLS-ALPN-01 (المنفذ 443)، أو ارفعوا شهادة .pfx/.pem من pfSense أو بوابة SSL لديكم.
نشر سجلات DNS وإجراء التحقق المباشر من DNS
انسخوا سجلات DNS المحسوبة من DNS Advisor المدمج (أو صدّروا ملف منطقة BIND): MX وA/AAAA وSPF ومحددي DKIM كليهما (s2026 + s2026ed) وDMARC وMTA-STS وTLS-RPT، واختياريًا DANE TLSA (3 1 1) وBIMI.
تحصين الخادم قبل الإنتاج
سجّلوا مفتاح مرور (WebAuthn) أو TOTP 2FA على حساب المسؤول الخاص بكم، وأبقوا عتبات SpamGuard عند 4.5 / 9.0 مع تفعيل Greylisting الذكي، وفعّلوا أرشفة GoBD بنظام WORM على النطاقات التجارية.
أنشئوا أول صندوق بريد واربطوا الأجهزة المحمولة في 30 ثانية
أنشئوا أول صندوق بريد للمستخدم ضمن Accounts & Lists، وسجّلوا الدخول في https://mail.company.com/mail/، ثم انقروا على 'Device Setup' لإنشاء رمز QR أو رابط إعداد بنقرة واحدة آمن للمراسلة مع ملف تعريف iOS/macOS موقّع بـ CMS أو Exchange ActiveSync.
تأكيد التسليم الوارد والصادر عبر Live MX Tester وMessage Trace
شغّلوا Diagnostics & Logs -> Outbound MX & DANE Tester مقابل gmail.com أو عنوان خارجي، ثم أرسلوا رسالة بريد إلكتروني حقيقية من /mail/ وردّوا عليها للتحقق من التدفق في الاتجاهين.
التشغيل خلف pfSense / OPNsense وبوابات SSL والوكلاء العكسيين
عند النشر خلف pfSense أو OPNsense أو Sophos أو HAProxy، اضبطوا هذه الإعدادات الثلاثة للحصول على تشخيصات دقيقة والحفاظ على عنوان IP الحقيقي للعميل:
| السيناريو | الإعداد الموصى به |
|---|---|
| Split-DNS / Hairpin-NAT | اضبطوا تجاوز مضيف Split-DNS في Unbound يوجّه mail.company.com إلى عنوان IP الداخلي في الشبكة المحلية، أو فعّلوا Pure NAT Reflection على البوابة لديكم. |
| HAProxy PROXY Protocol | فعّلوا PROXY protocol v1/v2 مقصورًا على نطاق CIDR للوكيل الموثوق لديكم، حتى يرى SPF وAuto-Ban عنوان IP البعيد الحقيقي بدلًا من عنوان IP للبوابة. |
| شهادة البوابة | زامنوا شهادة .pfx/.pem المجددة من البوابة لديكم مع nextxch للمنافذ 25/465/587/993؛ ويعيد Dynamic SNI تحميل الشهادات المحدّثة فورًا دون أي توقف. |
استكشاف الأخطاء حسب العَرَض (من الخطأ إلى الإصلاح الفوري)
انقروا على العَرَض الذي تلاحظونه أدناه، أو اكتبوا جزءًا من رسالة الخطأ في مربع التصفية السريعة أعلاه:
أداة فحص المنافذ الخارجية تُبلغ عن 'Blocked / Timeout' رغم أن الخدمة تعمل
TCP 25 / 465 / 993 Timeout
فشل الخدمة في ربط منفذ عند بدء التشغيل
Address already in use (:25 / :80 / :443)
يُرفض البريد الصادر إلى Gmail أو Microsoft 365 أو كبار مزودي خدمة الإنترنت
550-5.7.25 / 550-5.7.1 PTR missing
Live DNS Inspector لا يعثر على سجل DKIM أو DMARC TXT المنشور لديكم
NXDOMAIN s2026._domainkey
يفشل Let's Encrypt ACME في إصدار شهادة أو يعرض المتصفح تحذير TLS
ACME challenge failed
يفتح iPhone رابط إعداد عبر WhatsApp / Teams دون تشغيل تثبيت ملف التعريف في الإعدادات فورًا
iOS In-App WebView
حاوية Docker تُعاد تشغيلها أو لا تستطيع الكتابة في وحدة تخزين المضيف المربوطة
Access to path '/var/lib/nextxch' denied
برنامج البريد لا يستطيع تسجيل الدخول عبر IMAP أو SMTP
535 Authentication failed / TLS required
الخطوات التالية: ترقيات في 10 ثوانٍ والنسخ الاحتياطي والترحيل
بمجرد تأكيد تدفق البريد في الاتجاهين، يصبح خادمكم جاهزًا للإنتاج. أبقوا سير العمل التشغيلية الثلاثة هذه في متناول اليد:
# 1) In-place upgrade (preserves configuration, certificates & mailboxes): # Linux / macOS: curl -fsSL https://nextxch.com/install.sh | sudo bash -s -- --update # Windows PowerShell (Administrator): irm https://nextxch.com/install.ps1 | iex # 2) Backup scope (only 2 paths): # - Config file: appsettings.Production.json (including license token) # - Data dir: Storage:DataDirectory (SQLite WAL / blobs / TLS certs) # or pg_dump / SQL Server backup when running an external DB cluster
إجابات سريعة قبل الإقلاع الأول
هل يتطلب nextxch وجود NSSM أو Docker Desktop على Windows Server؟
لا. على عكس الخوادم التي تتطلب أغلفة خدمة NSSM على Windows، يُسجَّل nextxch أصليًا لدى مدير التحكم في خدمات Windows (SCM) عبر مثبّت .msi الرسمي دون Docker Desktop أو WSL2 أو Hyper-V.
هل يحتاج nextxch إلى اتصال بالإنترنت عند التشغيل الأول لتنزيل واجهة WebUI أو قواعد البريد العشوائي؟
لا. إن لوحة الإدارة بالكامل (/admin/) وnextxch Webmail PWA (/mail/) ومحرك SpamGuard وجميع مستمعات البروتوكولات مضمّنة داخل الحزمة الموثّقة بـ SHA-256، مما يتيح بدء التشغيل دون اتصال بنسبة 100% وفي البيئات المعزولة (air-gapped).
لماذا يجب أن يتطابق Reverse DNS (PTR) قبل إرسال أول رسالة بريد إلكتروني تجريبية؟
يتحقق كبار المستقبلين مثل Gmail وMicrosoft 365 ومزودي الإنترنت الأوروبيين من أن عنوانَي IPv4 وIPv6 العامين لديكم يُحلّان عبر PTR إلى اسم مضيف SMTP EHLO الدقيق لديكم (مثل mail.company.com). ويُعد غياب سجلات PTR لـ IPv6 على المضيفات ذات Dual-Stack السبب الأول لحالات الرفض 550-5.7.25.
كيف تعمل الترقيات في المكان بعد دخول الخادم مرحلة الإنتاج؟
نفّذوا curl -fsSL https://nextxch.com/install.sh | sudo bash -s -- --update على Linux/macOS أو irm https://nextxch.com/install.ps1 | iex على Windows (أو استخدموا أداة التحديث بنقرة واحدة داخل /admin/). ويُحتفظ تلقائيًا بملف appsettings.Production.json وشهادات TLS ومفاتيح DKIM ومخزن البريد.