پروتکل ایمیل در دههها پیش طراحی شده و در اصل هیچ سازوکاری برای تأیید هویت فرستنده ندارد. هر کسی میتواند ایمیلی بفرستد و در قسمت فرستنده آدرس info@example.com را بنویسد، حتی اگر هیچ ارتباطی با آن دامنه نداشته باشد. به همین دلیل سه استاندارد مکمل به وجود آمدهاند که همگی از طریق رکوردهای TXT در DNS پیادهسازی میشوند: SPF، DKIM و DMARC.
چرا این رکوردها مهماند؟
- تحویل ایمیل: سرویسهایی مثل Gmail، Outlook و Yahoo ایمیلهایی را که این رکوردها را ندارند یا با آنها مطابقت ندارند، به پوشهٔ اسپم میفرستند یا کلاً رد میکنند. از سال ۲۰۲۴ این الزامات سختگیرانهتر هم شده است.
- جلوگیری از جعل: بدون این رکوردها، کلاهبرداران میتوانند به نام شرکت شما برای مشتریانتان ایمیل فیشینگ بفرستند.
- اعتبار دامنه: دامنهای که ایمیلهای جعلی از آن منتشر شود، بهمرور در فهرستهای سیاه قرار میگیرد و حتی ایمیلهای واقعی شما هم تحویل داده نمیشوند.
SPF: چه سرورهایی اجازهٔ ارسال دارند؟
رکورد SPF فهرستی از سرورها یا آدرسهای IP است که مجازند از طرف دامنهٔ شما ایمیل بفرستند. سرور گیرنده با دیدن این رکورد بررسی میکند آیا ایمیل از یکی از این سرورها آمده یا نه.
یک نمونهٔ ساده:
example.com. TXT "v=spf1 a mx include:_spf.google.com ~all"
aوmx: سرور وب و سرور ایمیل دامنه اجازهٔ ارسال دارند.include:: سرویس دیگری (مثلاً Google Workspace یا یک سرویس خبرنامه) هم مجاز است.~all: هر فرستندهٔ دیگری مشکوک تلقی شود (-allسختگیرانهتر است و به معنی رد کامل است).
نکته: هر دامنه فقط باید یک رکورد SPF داشته باشد. اگر از چند سرویس برای ارسال ایمیل استفاده میکنید، همه را در همان یک رکورد با include اضافه کنید.
DKIM: امضای دیجیتال ایمیل
DKIM به هر ایمیل خروجی یک امضای رمزنگاریشده اضافه میکند. کلید خصوصی روی سرور ایمیل شما نگهداری میشود و کلید عمومی در یک رکورد TXT در DNS منتشر میشود. سرور گیرنده با کلید عمومی بررسی میکند که:
- ایمیل واقعاً از سرور شما ارسال شده، و
- محتوای آن در مسیر دستکاری نشده است.
رکورد DKIM معمولاً روی زیردامنهای با این الگو قرار میگیرد:
default._domainkey.example.com. TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkq..."
بخش default را سلکتور میگویند و هر سرویس ارسال ایمیل سلکتور مخصوص خودش را دارد؛ بنابراین میتوانید چند رکورد DKIM برای سرویسهای مختلف داشته باشید.
DMARC: سیاست و گزارش
DMARC روی SPF و DKIM سوار میشود و دو کار انجام میدهد:
- به سرور گیرنده میگوید اگر ایمیلی از SPF یا DKIM رد شد، با آن چه کند: هیچ (
none)، به اسپم بفرستد (quarantine) یا کاملاً رد کند (reject). - گزارش ایمیلهای ردشده را به آدرسی که تعیین کردهاید میفرستد تا بفهمید چه کسی به نام شما ایمیل میفرستد.
_dmarc.example.com. TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com"
توصیهٔ رایج این است که ابتدا با p=none شروع کنید و گزارشها را بررسی کنید؛ وقتی مطمئن شدید همهٔ سرویسهای مجاز شما درست تنظیم شدهاند، به quarantine و سپس reject بروید.
این سه با هم چگونه کار میکنند؟
| استاندارد | چه چیزی را ثابت میکند | کجا تنظیم میشود |
|---|---|---|
| SPF | ایمیل از سرور مجاز آمده | رکورد TXT روی خود دامنه |
| DKIM | ایمیل امضا شده و دستنخورده است | رکورد TXT روی سلکتور._domainkey |
| DMARC | با ایمیلهای ناموفق چه شود + گزارشدهی | رکورد TXT روی _dmarc |
SPF بهتنهایی کافی نیست (مثلاً هنگام فوروارد شدن ایمیل از کار میافتد) و DKIM هم بهتنهایی سیاستی تعیین نمیکند؛ هر سه با هم یک مجموعهٔ کامل میسازند.
در سرویسهای تدبیر.نت
برای دامنههایی که هم هاست و هم DNS آنها نزد تدبیر.نت است، رکوردهای SPF و DKIM بهصورت پیشفرض تنظیم میشوند. اگر:
- نیمسرورهای دامنهتان جای دیگری است،
- از سرویس ایمیل خارجی (مثل Google Workspace یا Microsoft 365) استفاده میکنید،
- یا ایمیلهایتان به اسپم میرود،
با پشتیبانی تماس بگیرید تا رکوردها را برای شما بررسی و تنظیم کنیم. یک فاصله یا نقلقول اشتباه در این رکوردها کافی است تا کل ایمیل دامنه از کار بیفتد؛ پس اگر تجربهٔ کار با DNS ندارید، بهتر است تغییرات را به ما بسپارید.