كيفية تفعيل خادم البريد الإلكتروني SMTP على خادم Hetzner السحابي؟
آموزش گام به گام فعال‌سازی سرور ایمیل SMTP بر روی سرور ابری هتزنر و جلوگیری از اسپم شدن ایمیل‌ها با تنظیمات مناسب دامنه و هاست.

كيفية تفعيل خادم البريد الإلكتروني SMTP على خادم Hetzner السحابي؟

ستتعلم في هذه المقالة كيفية إعداد خادم بريد إلكتروني SMTP على خادم سحابي من Hetzner، وكيفية منع وصول الرسائل الإلكترونية إلى فئة الرسائل المزعجة. أرسل رسائل بريد إلكتروني آمنة وموثوقة باستخدام إعدادات DNS والمصادقة الصحيحة.
0 الأسهم
0
0
0
0
  1. چطور یک سرور SMTP روی هتزنر راه‌اندازی کنیم که ایمیل ارسال کند و اسپم نشود؟
  2. معماری پیشنهادی و نکات اولیه
  3. مراحل آماده‌سازی سرور ارسال (هتزنر)
    1. نصب بسته‌های پایه (Debian/Ubuntu)
    2. تنظیم hostname و PTR
    3. پیکربندی TLS با Let’s Encrypt
    4. تنظیمات پایه Postfix (گزیده main.cf)
    5. فعال‌سازی SASL با Dovecot (برای اعتبارسنجی کاربران ارسال‌کننده)
  4. DKIM، SPF و DMARC — پیکربندی DNS
    1. تولید کلید DKIM با OpenDKIM
    2. رکورد SPF
    3. رکورد DMARC
  5. دریافت ایمیل روی سرور دیگر و مدیریت Bounce
    1. نحوه تنظیم MX برای دریافت
    2. کانفیگ Return-Path و مدیریت Bounce
    3. نمونه روند پردازش bounce با flanker (پایتون)
  6. جلوگیری از اسپم شدن — بهترین شیوه‌ها
    1. تنظیمات فنی
    2. سیاست‌های محتوا و لیست‌ها
  7. کنترل نرخ ارسال، صف و جلوگیری از ریپوتیشن منفی
  8. تست و ابزارها برای بررسی deliverability
  9. مثال کامل روند: ارسال از اپلیکیشن A با استفاده از هتزنر به‌عنوان relay
  10. نکات امنیتی و عملیاتی تکمیلی
  11. ابزارهای متن‌باز پیشنهادی برای اتوماسیون (رایگان)
  12. پیوند با خدمات شرکت (۸۵+ لوکیشن و سرویس‌ها)
  13. نکته پایانی

چطور یک سرور SMTP روی هتزنر راه‌اندازی کنیم که ایمیل ارسال کند و اسپم نشود؟

در این راهنما قدم‌به‌قدم پیاده‌سازی SMTP روی یک سرور ابری هتزنر برای ارسال ایمیل و نگاشت دریافت ایمیل روی سرور دیگر توضیح داده می‌شود. همچنین تنظیمات مهم DNS (SPF، DKIM، DMARC، PTR)، احراز هویت (SASL/TLS)، مدیریت Bounce و unsubscribe و توصیه‌های عملی برای جلوگیری از قرار گرفتن در فهرست سیاه پوشش داده می‌شود.

معماری پیشنهادی و نکات اولیه

التصميم المقترح:

  • سرور ارسال (Hetzner Cloud): نصب Postfix + OpenDKIM + OpenDMARC + TLS — مسئول ارسال ایمیل (SMTP relay).
  • سرور دریافت (مثلاً VPS یا هاست شما): MX رکوردها به این سرور اشاره می‌کنند؛ مسئول تحویل و دریافت ورودی‌ها (POP/IMAP/Dovecot یا سرویس ایمیل شما).
  • صندوق مخصوص Bounce و Unsubscribe: بازگشتی‌ها به یک آدرس اختصاصی فرستاده شوند و آن صندوق توسط سروری که دریافت را انجام می‌دهد، پردازش گردد.
  • کاربران/اپلیکیشن‌ها: با استفاده از SMTP AUTH (یا مجوز مبتنی بر IP) روی سرور هتزنر احراز هویت می‌کنند تا اجازه رله داشته باشند.

مراحل آماده‌سازی سرور ارسال (هتزنر)

نصب بسته‌های پایه (Debian/Ubuntu)

مثال برای اوبونتو/دبیان:

sudo apt update
sudo apt install -y postfix dovecot-core dovecot-imapd opendkim opendkim-tools opendmarc certbot postfix-policyd-spf-python rspamd

تنظیم hostname و PTR

تنظیم hostname روی سرور ارسال و ثبت Reverse DNS در پنل هتزنر ضروری است.

sudo hostnamectl set-hostname mail.example.com

نکات تنظیمات Postfix: كمية myhostname را برابر mail.example.com قرار دهید و در پنل هتزنر برای IP معکوس مقدار mail.example.com را ثبت کنید.

پیکربندی TLS با Let’s Encrypt

صدور گواهی و ارجاع آن در تنظیمات Postfix:

sudo certbot certonly --standalone -d mail.example.com

في main.cf مقادیر زیر را اضافه کنید:

smtpd_tls_cert_file = /etc/letsencrypt/live/mail.example.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.example.com/privkey.pem
smtpd_use_tls = yes
smtp_tls_security_level = may
smtpd_tls_security_level = may

تنظیمات پایه Postfix (گزیده main.cf)

نمونه‌ی گزیده‌ای از تنظیمات مهم در main.cf:

myhostname = mail.example.com
myorigin = /etc/mailname
mydestination = localhost
relay_domains =
mynetworks = 127.0.0.0/8
smtp_tls_security_level = may
smtpd_tls_security_level = may
smtpd_tls_auth_only = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
smtpd_helo_required = yes

توضيح: reject_unauth_destination از استفاده سرور شما به‌عنوان open relay جلوگیری می‌کند؛ فقط کاربران مجاز یا ماشین‌های شناخته‌شده می‌توانند رله کنند.

فعال‌سازی SASL با Dovecot (برای اعتبارسنجی کاربران ارسال‌کننده)

في الملف /etc/dovecot/conf.d/10-master.conf قسم service auth را به این شکل تنظیم کنید:

service auth {
  unix_listener /var/spool/postfix/private/auth {
    mode = 0660
    user = postfix
    group = postfix
  }
}

برای احراز هویت می‌توانید از passwd محلی، پایگاه داده SQL یا LDAP استفاده کنید. سپس سرویس‌ها را ریستارت کنید:

sudo systemctl restart dovecot postfix

DKIM، SPF و DMARC — پیکربندی DNS

تولید کلید DKIM با OpenDKIM

مثال ایجاد کلید DKIM روی سرور ارسال:

sudo mkdir /etc/opendkim/keys/example.com
sudo opendkim-genkey -b 2048 -d example.com -s mail -D /etc/opendkim/keys/example.com

ملف mail.txt تولید می‌شود؛ محتوی رکورد TXT که باید در DNS اضافه شود: selector = mailmail._domainkey.example.com.

نمونه تنظیمات /etc/opendkim.conf (گزیده):

Domain                  example.com
KeyFile                 /etc/opendkim/keys/example.com/mail.private
Selector                mail
AutoRestart             yes
Socket                  local:/var/spool/postfix/opendkim/opendkim.sock

و در /etc/postfix/main.cf يضيف:

milter_default_action = accept
smtpd_milters = unix:/var/spool/postfix/opendkim/opendkim.sock
non_smtpd_milters = $smtpd_milters

رکورد SPF

در DNS دامنه نمونه:

example.com. IN TXT "v=spf1 ip4:YOUR_HETZNER_IP include:spf.protection.example ?all"

یا سخت‌گیرانه‌تر:

"v=spf1 ip4:YOUR_HETZNER_IP -all"

توصية: در آغاز از ~all أو ?all استفاده کنید تا اشکالات اولیه باعث ریجکت کامل نشود و سپس سخت‌گیرانه‌تر کنید.

رکورد DMARC

نمونه DMARC در DNS:

_dmarc.example.com. IN TXT "v=DMARC1; p=quarantine; rua=mailto:[email protected]; ruf=mailto:[email protected]; pct=100; adkim=s; aspf=s"

ملحوظة: برای شروع می‌توانید p=none بگذارید تا گزارش‌ها را ببینید، سپس p=الحجر الصحي أو p=رفض فعل.

دریافت ایمیل روی سرور دیگر و مدیریت Bounce

نحوه تنظیم MX برای دریافت

مثال رکورد MX در DNS:

example.com. IN MX 10 mail-receive.example.org

نکته: MX باید به سرور دریافت اشاره کند؛ ارسال‌کننده شما از هتزنر برای ایمیل خروجی استفاده می‌کند — بنابراین رکورد SPF/DKIM برای دامنه ارسال تنظیم شده باشد.

کانفیگ Return-Path و مدیریت Bounce

چند نکته مهم:

  • Return-Path باید برای مدیریت بازگشتی‌ها مشخص باشد؛ بهتر است به یک ساب‌دامین اختصاصی مثل bounce.example.com اشاره کند.
  • برای هر ایمیل می‌توانید از VERP استفاده کنید: envelope-from="[email protected]" تا بازگشت دقیق‌تر مشخص شود.

پردازش bounces — روند پیشنهادی:

  1. یک آدرس [email protected] بسازید و MX آن را به سروری که پردازش می‌کند اشاره دهید.
  2. آن سرور با fetchmail / getmail یا مستقیم IMAP صندوق را واکشی کند و با اسکریپت‌های پردازش bounce اقدام نماید.
  3. برای پارس کردن bounce می‌توانید از ابزارهایی مانند flanker أو Mail::Delivery::BounceParser يستخدم.

نمونه روند پردازش bounce با flanker (پایتون)

ابتدا نصب:

pip install flanker

نمونه اسکریپت ساده (خواندن از stdin و پردازش):

from flanker import mime
from flanker.utils import bounces
import sys

raw = sys.stdin.read()
msg = mime.from_string(raw)
bounce = bounces.parse(raw)
# classify and store bounce info in database or suppression list

با دسته‌بندی hard bounce (خطاهای 5xx) و soft bounce (4xx) می‌توانید سیاست‌های حذف یا تلاش مجدد اعمال کنید.

جلوگیری از اسپم شدن — بهترین شیوه‌ها

تنظیمات فنی

  • PTR همخوان با myhostname و A رکورد باشد.
  • عامل الحماية من الشمس، DKIM، DMARC فعال و DKIM امضا کند.
  • HELO/SMTP banner با hostname منطبق باشد.
  • TLS فعال و smtpd_tls_auth_only = yes برای جلوگیری از ارسال رمزنگاری‌نشده.
  • اجتناب از آی‌پی‌های با سابقه بد و استفاده از rDNS مناسب.

سیاست‌های محتوا و لیست‌ها

  • دائماً من double opt-in برای لیست ایمیل استفاده کنید.
  • هر ایمیل باید لینک unsubscribe ساده و قابل‌فهم داشته باشد؛ در header از List-Unsubscribe يستخدم:
List-Unsubscribe: <mailto:[email protected]>, <https://example.com/unsubscribe?email=...>
  • گرم کردن IP (IP warm-up): از روز اول مقدار کم ارسال کنید و به‌تدریج افزایش دهید.
  • حذف یا تگ کردن آدرس‌هایی با bounce یا نرخ شکایت بالا.
  • رعایت قوانین مانند CAN-SPAM و GDPR برای کاربران اروپایی.

کنترل نرخ ارسال، صف و جلوگیری از ریپوتیشن منفی

تنظیمات محدودکننده همزمانی و تاخیر به مقصد در Postfix:

postconf -e "smtp_destination_concurrency_limit = 20"
postconf -e "smtp_destination_rate_delay = 1s"

برای سیاست‌های پیچیده‌تر از policy-daemonها مانند postfwd، policyd أو rspamd يستخدم.

مدیریت صف با دستورات Postfix:

postqueue -p
postsuper -d ALLDeferred

تست و ابزارها برای بررسی deliverability

  • برای تست SMTP از سواكس يستخدم:
swaks --to [email protected] --from [email protected] --server mail.example.com --auth LOGIN --auth-user smtpuser --auth-password smtppass --tls
  • بررسی Headers با mail-tester.com و MXToolbox برای بررسی blacklist و SPF/DKIM/DMARC.
  • مانیتورینگ لاگ‌ها با:
tail -f /var/log/mail.log

تحلیل گزارش‌های DMARC از طریق مقادیر rua و ruf کمک می‌کند مشکلات تحویل را پیدا کنید.

مثال کامل روند: ارسال از اپلیکیشن A با استفاده از هتزنر به‌عنوان relay

  1. اپلیکیشن A به mail.example.com:587 وصل می‌شود با کاربر smtp_user و رمز؛ احراز هویت انجام می‌شود.
  2. سرور هتزنر پس از تایید، ایمیل را خارج می‌کند و DKIM امضا می‌کند؛ SPF و PTR نیز تنظیم شده‌اند.
  3. در صورت بازگشت، bounce به [email protected] فرستاده می‌شود؛ MX برای bounce به سروری که پارس را انجام می‌دهد اشاره دارد.
  4. اپلیکیشن لیست suppression را خوانده و برای bounceهای سخت آدرس را غیرفعال می‌کند.

نکات امنیتی و عملیاتی تکمیلی

  • اطمینان حاصل کنید پورت 25 خروجی روی سرور باز باشد (هتزنر گاهی محدودیت‌های شبکه‌ای دارد).
  • برای جلوگیری از سوءاستفاده، authentication اجباری باشد؛ هرگز server را به‌عنوان open relay نگه ندارید.
  • لاگ‌ها را به سیستم مانیتورینگ (ELK/Graylog) ارسال کنید تا spikeهای ارسال یا پاسخ‌های خطا تحلیل شوند.
  • در صورت حجم بالای ارسال از IP اختصاصی استفاده کنید و آن IP را به‌تدریج گرم کنید.

ابزارهای متن‌باز پیشنهادی برای اتوماسیون (رایگان)

  • Postfix (SMTP)
  • Dovecot (SASL / IMAP)
  • OpenDKIM / OpenDMARC
  • Rspamd برای فیلترینگ و امتیازدهی
  • fetchmail / getmail برای واکشی bounces
  • flanker یا Mail::Delivery::BounceParser برای پردازش bounce
  • postfwd / policyd برای نرخ‌دهی و سیاست‌ها

پیوند با خدمات شرکت (۸۵+ لوکیشن و سرویس‌ها)

اگر دنبال زیرساختی با دسترسی شبکه‌ای گسترده و لوکیشن‌های متنوع هستید، می‌توانید از خدمات مناسب برای انتخاب نزدیک‌ترین دیتاسنتر به مخاطبان‌تان استفاده کنید تا تاخیر کاهش یابد و deliverability بهبود یابد.

  • أكثر من 85 موقعًا جهانی برای انتخاب دیتاسنتر.
  • سرور ابری با عملکرد بالا و IP اختصاصی برای ایمیل مارکتینگ و سرویس‌های SMTP.
  • سرور ضد DDoS، VPSهای متنوع و پشتیبانی تنظیمات شبکه و امنیت.

نکته پایانی

اگر آماده راه‌اندازی هستید، می‌توانید پلن‌های سرور ابری، IP اختصاصی و خدمات مدیریت DNS و امنیت را بررسی کنید یا با تیم فنی تماس گرفته و درخواست پیکربندی اختصاصی، پیاده‌سازی DKIM/DMARC و مدیریت Bounce نمایید. تیم پشتیبانی در دسترس است تا راهنمایی فنی و کمک‌های لازم ارائه کند.

قد يعجبك أيضاً
دليل شامل لأتمتة تهيئة عناوين IP والنطاقات لخوادم البريد الإلكتروني

دليل شامل لأتمتة تهيئة عناوين IP والنطاقات لخوادم البريد الإلكتروني

سنتناول في هذه المقالة عملية تهيئة عنوان IP والنطاق لخادم البريد الإلكتروني الخاص بك بشكل شامل. باستخدام الطرق الآلية لهذه العملية، يمكنك تحسين عملية التحقق من صحة الرسائل ومنع وصولها إلى مجلد الرسائل غير المرغوب فيها. كما سنغطي نصائح فنية وإدارية وأفضل الممارسات في هذا الشأن.
إعداد خاصية التوافر العالي باستخدام Proxmox: دليل شامل لمجموعات الإنتاج

إعداد خاصية التوافر العالي باستخدام Proxmox: دليل شامل لمجموعات الإنتاج

سيساعدك هذا الدليل الشامل على بناء مجموعة إنتاج مستقرة من خلال إعداد خاصية التوافر العالي (HA) باستخدام Proxmox. بدءًا من خطوات التثبيت الأولية وصولًا إلى إعدادات الأمان والتشغيل، ستجد شرحًا مفصلًا لكل شيء.
دليل شامل لاستخدام Wget لتنزيل الملفات والعمل مع واجهات برمجة تطبيقات REST

دليل شامل لاستخدام Wget لتنزيل الملفات والعمل مع واجهات برمجة تطبيقات REST

ستتناول هذه المقالة طرق استخدام wget لتنزيل الملفات والتفاعل مع واجهات برمجة تطبيقات REST. وستقدم نصائح وإرشادات عملية لمساعدتك على الاستفادة بسهولة من wget لإدارة عمليات التنزيل الكبيرة والعمل مع واجهات برمجة التطبيقات.
مقارنة فنية بين DigitalOcean NFS و AWS EFS و GCP Filestore للبنية التحتية السحابية

مقارنة فنية بين DigitalOcean NFS و AWS EFS و GCP Filestore للبنية التحتية السحابية

تستكشف هذه المقالة الاختلافات التقنية والوظيفية بين DigitalOcean NFS وAWS EFS وGCP Filestore. وتشمل مقارنات معمارية، وجوانب أمنية، وتكاليف، وأمثلة عملية لمساعدتك في اختيار الخيار الأمثل لبنيتك التحتية السحابية.
دليل شامل لميزات وإعدادات إدارة استضافة aapanel

دليل شامل لميزات وإعدادات إدارة استضافة aapanel

لوحة تحكم aaPanel هي لوحة تحكم متعددة الاستخدامات وفعالة لإدارة الاستضافة والتطبيقات. تتناول هذه المقالة ميزاتها الرئيسية، وتثبيتها، وإدارة قواعد البيانات، والأمان، والتكامل مع WHMCS، وهي مفيدة لمطوري المواقع الإلكترونية.
دليل شامل لتحسين أداء وحدة معالجة الرسومات (GPU) للتعلم العميق

دليل شامل لتحسين أداء وحدة معالجة الرسومات (GPU) للتعلم العميق

في هذه المقالة، نستكشف تحسين أداء وحدة معالجة الرسومات (GPU) للتعلم العميق. باستخدام أساليب عملية وتقنية، نعلمك كيفية تحقيق أقل وقت تدريب وأعلى إنتاجية من خلال استخدام الأجهزة المناسبة والإعدادات المثلى.