۱. Mail Server چیست و از چه اجزایی تشکیل میشود؟
یک Mail Server واقعی فقط «نصب Postfix» نیست. یک سامانهی ایمیل از چندین سرویس مستقل تشکیل میشود که هرکدام نقش مشخصی دارند: دریافت ایمیل از اینترنت، تحویل آن به Mailbox، امکان خواندن آن از طریق Mail Client و ارسال ایمیل کاربران به اینترنت.
اجزای اصلی یک Mail Server:
- MTA (Mail Transfer Agent): مسئول انتقال ایمیل بین سرورها و تحویل آن به Mailbox. نمونهها: Postfix، Exim، Sendmail.
- MDA/LDA (Mail Delivery Agent): مسئول تحویل ایمیل از MTA به Mailbox کاربر. در این مقاله از Dovecot LMTP استفاده میکنیم.
- SMTP: پروتکل استاندارد برای ارسال و انتقال ایمیل.
- IMAP: پروتکل استاندارد برای خواندن ایمیل از Mailbox.
- Mailbox Storage: محلی که پیامها ذخیره میشوند؛ در این مقاله از Maildir استفاده میکنیم.
- DNS: بدون آن، هیچ سروری نمیداند ایمیل را به کجا بفرستد و هیچ گیرندهای نمیتواند authenticity فرستنده را بررسی کند.
- TLS: برای رمزنگاری ارتباط بین Client و Server و بین Serverها.
در این مقاله از Postfix به عنوان MTA و Dovecot به عنوان IMAP Server و MDA استفاده میکنیم. این ترکیب یکی از رایجترین و پایدارترین معماریهای Mail Server در دنیای لینوکس است.
۲. معماری و مسیر حرکت ایمیل
درک مسیر حرکت ایمیل، پیشنیاز عیبیابی است. یک ایمیل ورودی از اینترنت و یک ایمیل خروجی از کاربر، مسیرهای متفاوتی را طی میکنند.
۲.۱. مسیر Inbound (دریافت ایمیل)
Internet
↓
DNS (MX Record)
↓
Postfix (SMTP port 25)
↓
Dovecot (LMTP)
↓
Maildir (Mailbox)
↓
IMAP (Client)
وقتی یک سرور خارجی میخواهد به کاربران شما ایمیل بفرستد، ابتدا از DNS رکورد MX دامنهی شما را میپرسد. سپس با Postfix روی پورت ۲۵ (SMTP) ارتباط برقرار میکند. Postfix پیام را دریافت میکند و از طریق LMTP آن را به Dovecot تحویل میدهد. Dovecot پیام را در Maildir کاربر ذخیره میکند. کاربر نهایتاً از طریق IMAP پیام را میخواند.
۲.۲. مسیر Outbound (ارسال ایمیل)
Mail Client
↓
SMTP Submission (port 587 + STARTTLS + AUTH)
↓
Postfix
↓
DKIM Signing
↓
Internet
↓
Recipient Mail Server
وقتی کاربر میخواهد ایمیل بفرستد، Mail Client با پورت ۵۸۷ (Submission) به Postfix وصل میشود، احراز هویت میکند و پیام را میفرستد. Postfix پیام را امضا (DKIM) میکند و به سرور گیرنده ارسال میکند.
۳. طراحی Hostname و Domain
یکی از رایجترین اشتباهات در راهاندازی Mail Server، قاطی کردن مفهوم Hostname و Domain است. این دو مفاهیم متفاوتی هستند:
- Domain: دامنهای که ایمیلها به آن تعلق دارند؛ مثل
example.com. - Mail Hostname: نامی که Mail Server با آن معرفی میشود؛ مثل
mail.example.com. - OS Hostname: نام سیستمعامل سرور؛ مثل
srv-01. این نام لزوماً با Mail Hostname یکی نیست. - PTR Hostname: نامی که Reverse DNS به IP سرور نسبت میدهد؛ بهتر است با Mail Hostname یکی باشد.
نکتهی مهم: OS Hostname و Mail Hostname میتوانند متفاوت باشند. آنچه اهمیت دارد
این است که Postfix با myhostname بهدرستی معرفی شود و PTR با Mail Hostname هماهنگ باشد.
اما توصیهی عمومی این است که این نامها را تا حد امکان ساده و قابل پیشبینی نگه دارید:
Mail Hostname: mail.example.com
PTR: SERVER_IP → mail.example.com
Forward DNS: mail.example.com → SERVER_IP
۴. پیشنیازهای DNS
بدون DNS صحیح، Mail Server شما کار نخواهد کرد. حتی اگر Postfix و Dovecot بینقص پیکربندی شده باشند، ایمیلها یا ارسال نمیشوند یا در Spam فرود میآیند.
۴.۱. رکوردهای ضروری DNS
| نوع رکورد | مثال | کاربرد |
|---|---|---|
| A | mail.example.com → SERVER_IP |
آدرس IPv4 سرور |
| AAAA | mail.example.com → IPv6 |
آدرس IPv6 (اختیاری اما توصیهشده) |
| MX | example.com → mail.example.com |
نشانی سرور دریافت ایمیل |
| PTR | SERVER_IP → mail.example.com |
Reverse DNS (توسط provider تنظیم میشود) |
| TXT (SPF) | v=spf1 mx -all |
اعلام سرورهای مجاز ارسال ایمیل |
| TXT (DKIM) | selector._domainkey.example.com |
کلید عمومی DKIM |
| TXT (DMARC) | _dmarc.example.com |
سیاست DMARC |
۴.۲. Reverse DNS (PTR)
PTR رکوردی است که IP را به یک Hostname نگاشت میکند. این رکورد معمولاً توسط VPS Provider یا Datacenter تنظیم میشود و شما نمیتوانید آن را از طریق DNS Zone خود تغییر دهید.
PTR برای Mail Server اهمیت زیادی دارد. بسیاری از سرورهای گیرنده (از جمله Gmail) بررسی میکنند که آیا IP فرستنده PTR معتبری دارد یا نه. اگر PTR نداشته باشد یا با Forward DNS هماهنگ نباشد، احتمال Spam شدن ایمیل بهشدت افزایش مییابد.
Forward-Reverse Consistency به این معناست که:
PTR: SERVER_IP → mail.example.com
Forward: mail.example.com → SERVER_IP
اگر این دو با هم هماهنگ نباشند، برخی سرورها ممکن است ایمیل شما را رد کنند یا در Spam قرار دهند.
۵. نصب و پیکربندی Postfix
Postfix یکی از محبوبترین MTAهای لینوکس است. نصب آن روی اکثر توزیعها ساده است:
# Debian / Ubuntu
apt install postfix
# RHEL / CentOS / Rocky
dnf install postfix
۵.۱. تنظیمات پایه
مهمترین پارامترهای Postfix در /etc/postfix/main.cf:
myhostname = mail.example.com
mydomain = example.com
myorigin = $mydomain
mydestination = $myhostname, localhost.$mydomain, localhost
inet_interfaces = all
inet_protocols = ipv4
myhostname: نامی که Postfix با آن معرفی میشود. باید با PTR هماهنگ باشد.mydomain: دامنهی اصلی Mail Server.myorigin: دامنهای که در هدرFromایمیلهای محلی ظاهر میشود.mydestination: دامنههایی که Postfix به عنوان «محلی» تحویل میدهد.
۵.۲. SMTP Submission روی پورت ۵۸۷
پورت ۲۵ برای تبادل ایمیل بین سرورهاست. برای ارسال ایمیل توسط کاربران، باید پورت ۵۸۷ (Submission) فعال شود. این پورت نیازمند SMTP AUTH و STARTTLS است.
# /etc/postfix/master.cf
submission inet n - y - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
۵.۳. جلوگیری از Open Relay
Open Relay یعنی سرور شما ایمیلهای کاربران ناشناس را بدون احراز هویت ارسال کند. این یک فاجعهی امنیتی است و باعث میشود IP شما در blacklist قرار بگیرد.
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
بعد از هر تغییر، با postfix check و systemctl reload postfix تنظیمات را اعمال
کنید.
برای تست Open Relay از ابزارهایی مثل swaks یا سرویسهای آنلاین استفاده کنید.
۶. نصب و پیکربندی Dovecot
Dovecot مسئول IMAP، authentication و تحویل نهایی پیام به Mailbox است. نصب:
apt install dovecot-core dovecot-imapd dovecot-lmtpd
۶.۱. فعالسازی IMAP و LMTP
# /etc/dovecot/dovecot.conf
protocols = imap lmtp
۶.۲. Authentication و Virtual Users
برای Mail Server واقعی، معمولاً از Virtual Users استفاده میشود؛ یعنی کاربران سیستمی نیستند و فقط در یک فایل یا دیتابیس تعریف میشوند.
# /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = yes
auth_mechanisms = plain login
# /etc/dovecot/conf.d/auth-passwdfile.conf.ext
passdb {
driver = passwd-file
args = scheme=ARGON2ID username_format=%u /etc/dovecot/users
}
userdb {
driver = passwd-file
args = username_format=%u /etc/dovecot/users
default_fields = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n
}
۶.۳. Maildir و LMTP
# /etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:/var/mail/vhosts/%d/%n
# /etc/dovecot/conf.d/10-master.conf
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
mode = 0600
user = postfix
group = postfix
}
}
۶.۴. TLS در Dovecot
# /etc/dovecot/conf.d/10-ssl.conf
ssl = required
ssl_cert = </etc/letsencrypt/live/mail.example.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.example.com/privkey.pem
ssl_min_protocol = TLSv1.2
۷. ساخت Mailbox و Virtual User
ساخت Mailbox از Auto Configuration جداست. Auto Configuration فقط تنظیمات را به Client میگوید، اما Mailbox را نمیسازد. Mailbox باید توسط Administrator ساخته شود.
مراحل ساخت یک Mailbox نمونه مثل info@example.com:
# 1. ساخت هش رمز عبور
doveadm pw -s ARGON2ID
# 2. افزودن کاربر به /etc/dovecot/users
info@example.com:{ARGON2ID}$argon2id$v=19$m=65536,t=3,p=1$...
# 3. افزودن mapping در /etc/postfix/vmailbox
info@example.com example.com/info/Maildir/
# 4. ساخت mapping
postmap /etc/postfix/vmailbox
# 5. ساخت دایرکتوری Maildir و تنظیم ownership
mkdir -p /var/mail/vhosts/example.com/info/Maildir
chown -R vmail:vmail /var/mail/vhosts/example.com
chmod -R 700 /var/mail/vhosts/example.com
# 6. Reload سرویسها
systemctl reload dovecot
systemctl reload postfix
دقت کنید که رمز عبور باید حتماً بهصورت hash ذخیره شود، نه plaintext.
۸. TLS و پورتهای SMTP و IMAP
برای Mail Server، TLS یک گزینه نیست؛ یک ضرورت است. بدون TLS، رمز عبور کاربران بهصورت plaintext منتقل میشود و ایمیلها قابل شنود هستند.
| پورت | سرویس | نوع TLS | کاربرد |
|---|---|---|---|
| 25 | SMTP | STARTTLS (اختیاری) | تبادل ایمیل بین سرورها |
| 587 | Submission | STARTTLS (اجباری) | ارسال ایمیل توسط کاربران |
| 465 | SMTPS | Implicit TLS | ارسال ایمیل با TLS از ابتدا |
| 993 | IMAPS | Implicit TLS | خواندن ایمیل با TLS از ابتدا |
تفاوت STARTTLS و Implicit TLS: در STARTTLS، ارتباط ابتدا plaintext شروع میشود و سپس به TLS ارتقا مییابد. در Implicit TLS، ارتباط از همان ابتدا TLS است.
۹. SPF، DKIM و DMARC
این سه استاندارد، پایهی Email Authentication هستند. اما باید توجه داشت که موفق بودن آنها تضمینکنندهی Inbox Placement نیست.
۹.۱. SPF
SPF (Sender Policy Framework) به گیرنده میگوید کدام IPها مجاز به ارسال ایمیل از دامنهی شما هستند. SPF در DNS بهصورت TXT ثبت میشود:
example.com. IN TXT "v=spf1 mx -all"
معنی mx این است که «سرورهای MX این دامنه مجاز به ارسال هستند» و -all
یعنی «هر IP دیگری رد شود».
SPF فقط Envelope Sender (Return-Path) را بررسی میکند، نه هدر From را.
به همین دلیل SPF بهتنهایی کافی نیست.
۹.۲. DKIM
DKIM (DomainKeys Identified Mail) به گیرنده اجازه میدهد صحت پیام و دامنهی فرستنده را از طریق امضای دیجیتال بررسی کند.
DKIM از یک جفت کلید استفاده میکند: کلید خصوصی روی سرور، کلید عمومی در DNS.
selector._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=MIGfMA0G..."
نکتهی مهم: DKIM رمزنگاری نیست. DKIM فقط امضای دیجیتال است. محتوای ایمیل همچنان plaintext است (مگر اینکه TLS روی مسیر انتقال وجود داشته باشد).
۹.۳. DMARC
DMARC (Domain-based Message Authentication, Reporting and Conformance) یک لایهی policy روی SPF و DKIM است. DMARC مشخص میکند اگر ایمیل از دامنهی شما SPF یا DKIM را پاس نکرد، گیرنده چگونه رفتار کند.
_dmarc.example.com. IN TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.com"
p=none: فقط گزارش بده، کاری نکن (مناسب برای شروع و monitoring).p=quarantine: ایمیلهای ناموفق را در Spam قرار بده.p=reject: ایمیلهای ناموفق را رد کن.rua: آدرس دریافت گزارشهای تجمیعی.
توصیهی عمومی: با p=none شروع کنید، چند هفته گزارشها را بررسی کنید، و سپس بهتدریج
به quarantine و reject مهاجرت کنید. تغییر مستقیم به p=reject
بدون monitoring میتواند به حذف ایمیلهای معتبر خودتان منجر شود.
۱۰. Auto Configuration
Auto Configuration به Mail Clientها اجازه میدهد بدون تنظیم دستی، سرور IMAP و SMTP را کشف کنند.
نکتهی مهم: Auto Configuration با Mailbox Provisioning یکی نیست. Auto Configuration فقط به Client میگوید «سرور کجاست و چه تنظیماتی دارد». Mailbox باید قبلاً توسط Administrator ساخته شده باشد.
۱۰.۱. Thunderbird AutoConfig
Thunderbird از دو endpoint برای discovery استفاده میکند:
https://autoconfig.example.com/mail/config-v1.1.xml
https://autoconfig.example.com/.well-known/autoconfig/mail/config-v1.1.xml
پاسخ XML شامل تنظیمات IMAP و SMTP است. رمز عبور نباید در XML قرار بگیرد.
۱۰.۲. Outlook Autodiscover
Outlook از endpoint متفاوتی استفاده میکند:
https://autodiscover.example.com/autodiscover/autodiscover.xml
۱۰.۳. محدودیتها
وجود endpointهای AutoConfig به این معنی نیست که همهی Mail Clientها الزاماً از آن استفاده میکنند. بعضی Clientها (مخصوصاً در موبایل) ممکن است بهجای AutoConfig، جستجوی SRV یا روشهای دیگر را ترجیح دهند. بعضی دیگر ممکن است اصلاً از AutoConfig پشتیبانی نکنند و نیاز به تنظیم دستی داشته باشند.
عدم Auto-detection در یک Client به معنی خراب بودن Mail Server نیست.
۱۱. تست SMTP، IMAP و Mail Flow
۱۱.۱. تست DNS
dig MX example.com
dig A mail.example.com
dig -x SERVER_IP
dig TXT example.com
dig TXT selector._domainkey.example.com
dig TXT _dmarc.example.com
۱۱.۲. تست SMTP و TLS
# تست STARTTLS روی پورت 587
openssl s_client -starttls smtp -connect mail.example.com:587
# تست Implicit TLS روی پورت 465
openssl s_client -connect mail.example.com:465
# تست IMAPS روی پورت 993
openssl s_client -connect mail.example.com:993
۱۱.۳. تست با swaks
swaks --to admin@example.com \
--from info@example.com \
--server mail.example.com:587 \
--auth LOGIN \
--tls
۱۱.۴. تست Inbound و Outbound
دو تست مستقل انجام دهید:
- Outbound: از Mail Server خود به یک Gmail ارسال کنید.
- Inbound: از Gmail به Mailbox خود ارسال کنید.
برای Outbound، در Gmail روی «Show original» کلیک کنید و بررسی کنید که SPF، DKIM و DMARC چه وضعیتی دارند.
برای Inbound، لاگ Dovecot/LMTP را بررسی کنید تا ببینید پیام در INBOX ذخیره شده است یا نه.
journalctl -u dovecot -f
tail -f /var/log/mail.log
doveadm search -u info@example.com mailbox INBOX
۱۲. Gmail Deliverability و مشکل Spam
این بخش مهمترین بخش این مقاله است. حتی اگر SPF، DKIM و DMARC شما همه PASS باشند، ممکن است Gmail ایمیل شما را در Spam قرار دهد.
این یک واقعیت است: Authentication ≠ Inbox Placement.
احراز هویت (SPF/DKIM/DMARC) به Gmail میگوید «این ایمیل واقعاً از دامنهی ادعاشده آمده است». اما Inbox Placement به Gmail میگوید «این ایمیل برای کاربر ارزشمند است».
۱۲.۱. سیگنالهای Gmail برای فیلترینگ
Gmail (و سایر Providerها) از سیگنالهای زیادی برای تصمیمگیری استفاده میکنند، از جمله:
- Authentication (SPF/DKIM/DMARC)
- IP Reputation
- Domain Reputation
- Sending History
- Recipient Behavior (باز کردن، پاسخ دادن، گزارش Spam)
- Message Content
- Volume Patterns
- Infrastructure Signals
هیچکدام از اینها بهتنهایی تضمینکنندهی Inbox Placement نیست. Gmail الگوریتم داخلی خودش را منتشر نکرده و ادعای قطعی درباره آن ممکن نیست.
۱۲.۲. بررسی DNSBL
DNSBL (DNS-based Blackhole List) یک لیست از IPهایی است که بهعنوان منبع Spam شناخته شدهاند. میتوانید IP خود را در DNSBLهای معروف بررسی کنید:
# بررسی IP در Spamhaus
dig +short SERVER_IP.zen.spamhaus.org
# بررسی IP در Barracuda
dig +short SERVER_IP.b.barracudacentral.org
اگر پاسخ 127.x.x.x دریافت کردید، IP شما در آن لیست قرار دارد. اگر پاسخ خالی بود،
IP شما در آن لیست نیست.
نکتهی مهم: نبودن IP در DNSBL به معنی «Reputation خوب» نیست. فقط به این معنی است که در آن لیست خاص نیست.
۱۲.۳. Google Postmaster Tools
Google Postmaster Tools ابزاری رسمی از Google برای مشاهدهی دادههای Deliverability دامنه است. برای استفاده، ابتدا باید مالکیت دامنه را در Google Search Console تأیید کنید.
Postmaster Tools ممکن است برای دامنههای جدید یا دامنههایی با حجم ارسال پایین، پیام
No data was found نشان دهد. این وضعیت failure نیست و به معنی مشکل
در SPF/DKIM/DMARC نیست. فقط به این معنی است که Google هنوز دادهی کافی برای نمایش ندارد.
۱۳. عیبیابی و Security Hardening
۱۳.۱. Decision Tree عیبیابی
Email not received
|
+-- DNS problem? ─────────── dig MX / dig A
|
+-- SMTP connection? ─────── telnet / openssl
|
+-- TLS? ──────────────────── openssl s_client
|
+-- Authentication? ──────── doveadm / logs
|
+-- SMTP accepted? ───────── mail.log / journalctl
|
+-- DKIM? ─────────────────── opendkim-testkey
|
+-- SPF? ──────────────────── dig TXT
|
+-- DMARC? ────────────────── dig TXT
|
+-- Recipient rejected? ──── reply codes
|
+-- Spam? ─────────────────── Gmail Show original
|
+-- Reputation? ──────────── Postmaster / DNSBL
۱۳.۲. Security Hardening
- جلوگیری از Open Relay (اجباری)
- فایروال و بستن پورتهای غیرضروری
- TLS اجباری روی Submission و IMAPS
- استفاده از Argon2 یا Bcrypt برای هش رمز عبور
- حفاظت از Private Key DKIM
- Filesystem Permissions مناسب روی Maildir
- Rate Limiting و Brute-force Protection (fail2ban)
- Logging و Monitoring
- Backup منظم از Mailboxها و Configurationها
- Patching منظم سیستمعامل و سرویسها
۱۳.۳. Production Checklist
[ ] A / AAAA Record
[ ] MX Record
[ ] PTR Record
[ ] Forward-Reverse Consistency
[ ] TLS Certificate
[ ] SMTP (25)
[ ] Submission (587)
[ ] IMAPS (993)
[ ] SMTP AUTH
[ ] Postfix
[ ] Dovecot
[ ] LMTP
[ ] Mailbox
[ ] SPF
[ ] DKIM
[ ] DMARC
[ ] No Open Relay
[ ] Firewall
[ ] DNSBL Check
[ ] Inbound Test
[ ] Outbound Test
[ ] Gmail Test
[ ] Postmaster Tools
[ ] Monitoring
[ ] Backup
جمعبندی
راهاندازی یک Mail Server واقعی، فراتر از نصب Postfix و Dovecot است. این فرآیند شامل طراحی صحیح DNS، پیکربندی امن، احراز هویت دقیق و درک عمیق از تفاوت بین Authentication و Deliverability است.
حتی اگر تمام تنظیمات فنی شما بینقص باشد، ممکن است ایمیلها در Spam قرار بگیرند. این به معنی اشتباه در کار شما نیست؛ به این معنی است که Email Deliverability یک موضوع پیچیده و چندعاملی است که به reputation، sending history و سیگنالهای متعددی وابسته است.
بهترین رویکرد این است که با monitoring مستمر، بررسی گزارشهای DMARC، استفاده از Google Postmaster Tools و رعایت Best Practiceها، بهتدریج reputation دامنه و IP خود را بهبود دهید.
سوالات متداول
آیا SPF بهتنهایی برای جلوگیری از Spam کافی است؟
خیر. SPF فقط Envelope Sender را بررسی میکند و بهتنهایی نمیتواند از جعل هدر From جلوگیری کند. برای محافظت کامل، به DKIM و DMARC نیز نیاز دارید.
DKIM چه کاری انجام میدهد؟
DKIM با استفاده از یک جفت کلید (خصوصی روی سرور، عمومی در DNS) پیام را امضا میکند. گیرنده با بررسی امضا میتواند صحت پیام و دامنهی فرستنده را تأیید کند. DKIM رمزنگاری نیست.
DMARC چه تفاوتی با SPF و DKIM دارد؟
DMARC یک لایهی policy روی SPF و DKIM است. DMARC مشخص میکند اگر ایمیل از دامنهی شما SPF یا DKIM را پاس نکرد، گیرنده چگونه رفتار کند (none / quarantine / reject). همچنین DMARC alignment بین دامنهی From و دامنهی SPF/DKIM را بررسی میکند.
چرا ایمیل با SPF/DKIM/DMARC PASS باز هم به Spam میرود؟
چون Authentication فقط یکی از سیگنالهای فیلترینگ است. Gmail و سایر Providerها از IP Reputation، Domain Reputation، Sending History، رفتار گیرنده، محتوای پیام و سیگنالهای دیگر نیز استفاده میکنند. موفق بودن Authentication تضمینکنندهی Inbox Placement نیست.
PTR برای Mail Server ضروری است؟
بله، در عمل ضروری است. بسیاری از سرورهای گیرنده (از جمله Gmail) بررسی میکنند که IP فرستنده PTR معتبر و هماهنگ با Forward DNS داشته باشد. بدون PTR، احتمال Spam شدن ایمیل بهشدت افزایش مییابد.
تفاوت پورت 25 و 587 چیست؟
پورت 25 برای تبادل ایمیل بین سرورها (Server-to-Server) استفاده میشود و معمولاً نیازی به احراز هویت ندارد. پورت 587 برای Submission (ارسال ایمیل توسط کاربران) استفاده میشود و نیازمند STARTTLS و SMTP AUTH است.
آیا باید از پورت 465 استفاده کنم؟
پورت 465 (SMTPS) از Implicit TLS استفاده میکند، یعنی ارتباط از همان ابتدا TLS است. این پورت برای Mail Clientهای قدیمیتر مفید است. برای Clientهای مدرن، پورت 587 توصیه میشود.
چرا Gmail Postmaster Tools میگوید No data؟
Postmaster Tools برای دامنههای جدید یا دامنههایی با حجم ارسال پایین، ممکن است دادهای نشان ندهد. این وضعیت failure نیست و به معنی مشکل در SPF/DKIM/DMARC نیست. Google باید دادهی کافی جمعآوری کند تا نمایش دهد.
آیا نبودن IP در blacklist یعنی Reputation خوب است؟
خیر. نبودن در DNSBL فقط به این معنی است که IP شما در آن لیست خاص نیست. Reputation یک مفهوم پیچیدهتر است و به Sending History، رفتار گیرندگان و سیگنالهای دیگر وابسته است.
آیا Auto Configuration روی همهی Mail Clientها کار میکند؟
خیر. بعضی Clientها مثل Thunderbird از AutoConfig پشتیبانی میکنند، بعضی دیگر مثل Outlook از Autodiscover استفاده میکنند، و بعضی از Clientهای موبایل ممکن است اصلاً Auto-detection نداشته باشند و نیاز به تنظیم دستی داشته باشند.
Postfix و Dovecot چه تفاوتی دارند؟
Postfix یک MTA (Mail Transfer Agent) است و مسئول انتقال ایمیل بین سرورها و تحویل آن به Mailbox است. Dovecot یک IMAP Server و MDA (Mail Delivery Agent) است و مسئول authentication، IMAP و تحویل نهایی پیام به Mailbox است. این دو مکمل یکدیگرند.
چگونه Mail Server را مرحلهبهمرحله عیبیابی کنم؟
از DNS شروع کنید: بررسی A، MX و PTR. سپس SMTP connection، TLS، authentication، SPF/DKIM/DMARC. در ادامه SMTP acceptance را در log بررسی کنید. اگر همهچیز درست بود اما ایمیل در Spam رفت، به DNSBL، IP Reputation، Domain Reputation و Postmaster Tools مراجعه کنید.
واژهنامه
- MTA
- Mail Transfer Agent — سرویسی که ایمیل را بین سرورها منتقل و به Mailbox تحویل میدهد. مثل Postfix.
- MDA / LDA
- Mail Delivery Agent — سرویسی که ایمیل را از MTA دریافت و به Mailbox کاربر تحویل میدهد. مثل Dovecot LMTP.
- SMTP
- Simple Mail Transfer Protocol — پروتکل استاندارد ارسال و انتقال ایمیل.
- IMAP
- Internet Message Access Protocol — پروتکل استاندارد خواندن ایمیل از Mailbox.
- LMTP
- Local Mail Transfer Protocol — نسخهی محلی SMTP که برای تحویل ایمیل از Postfix به Dovecot استفاده میشود.
- Maildir
- یک فرمت ذخیرهسازی ایمیل که هر پیام را در یک فایل جداگانه ذخیره میکند.
- SPF
- Sender Policy Framework — استانداردی که مشخص میکند کدام IPها مجاز به ارسال ایمیل از یک دامنه هستند.
- DKIM
- DomainKeys Identified Mail — استانداردی که با امضای دیجیتال، صحت پیام را تأیید میکند.
- DMARC
- Domain-based Message Authentication, Reporting and Conformance — لایهی policy روی SPF و DKIM.
- PTR
- Pointer Record — رکورد Reverse DNS که IP را به Hostname نگاشت میکند.
- DNSBL
- DNS-based Blackhole List — لیستی از IPهایی که بهعنوان منبع Spam شناخته شدهاند.
- STARTTLS
- مکانیزمی که یک ارتباط plaintext را به TLS ارتقا میدهد.
- Inbox Placement
- نرخ تحویل ایمیل به Inbox (نه Spam) گیرنده.
- Reputation
- اعتبار یک IP یا دامنه از دید Providerهای ایمیل.