پاسخ کوتاه
چگونه یک رکورد SPF برای دامنه سفارشی بسازم؟
یک رکورد TXT در ریشه دامنه بسازید که با v=spf1 شروع شود، include ارائهدهنده ایمیلتان را اضافه کنید (برای Proton Mail، include:_spf.protonmail.ch) و با ~all تمام کنید. یک دامنه فقط میتواند یک رکورد SPF داشته باشد و SPF حداکثر ۱۰ جستجوی DNS مجاز میکند. Postelva رکورد TXT را در ویرایشگر DNS رایگان خود میزبانی میکند.
مقادیر SPF چهار ارائهدهنده ایمیل
| ارائهدهنده | include برای افزودن | رکورد کامل معمول |
|---|---|---|
| Proton Mail | include:_spf.protonmail.ch | v=spf1 include:_spf.protonmail.ch ~all |
| Mailbox.org | include:mailbox.org | v=spf1 include:mailbox.org ~all |
| Fastmail | include:spf.messagingengine.com | v=spf1 include:spf.messagingengine.com ?all |
| Mailfence | include:_spf.mailfence.com | v=spf1 include:_spf.mailfence.com -all (فقط Mailfence ارسال میکند) یا ~all (فرستندههای دیگر هم) |
آخرین بررسی در ؛ ارقام قدیمیتر تاریخ خودشان را دارند
ساختن رکورد در پنج مرحله
هر سرویسی را که به نام دامنه شما ارسال میکند فهرست کنید
ارائهدهنده صندوق نامهتان و هر ابزار دیگری را که به نام شما ارسال میکند یادداشت کنید: سرویس خبرنامه، میز پشتیبانی، فرم تماس وبسایت. هر کدام جایی در رکورد لازم دارد.
بررسی کنید که آیا رکورد SPF از قبل وجود دارد
به رکوردهای TXT در ریشه دامنه (@) نگاه کنید. اگر یکی با v=spf1 شروع میشود، آن را ویرایش کنید. هرگز رکورد دوم نسازید.
مقدار را بسازید
با v=spf1 شروع کنید، برای هر سرویس ارسالکننده یک include: اضافه کنید و با ~all تمام کنید. مثال برای Proton Mail بهتنهایی: v=spf1 include:_spf.protonmail.ch ~all.
آن را به صورت رکورد TXT منتشر کنید
در ویرایشگر DNS، یک رکورد TXT با host برابر @ و مقدار بالا اضافه کنید. آن را یک خط نگه دارید.
نتیجه را بررسی کنید
رکورد را با dig TXT example.com +short جستجو کنید و تأیید کنید که دقیقاً یک خط با v=spf1 شروع میشود. سپس یک پیام آزمایشی به یک نشانی نزد ارائهدهنده دیگر بفرستید.
; Proton Mail only
example.com. IN TXT "v=spf1 include:_spf.protonmail.ch ~all"
; Proton Mail plus a second sending service (one record, two includes)
example.com. IN TXT "v=spf1 include:_spf.protonmail.ch include:spf.sender.example ~all"یک رکورد SPF چه چیزی دارد؟
رکورد SPF یک رکورد TXT است که با v=spf1 شروع میشود و با مکانیسمهایی ادامه مییابد که هر کدام یک قید اختیاری دارند. RFC 7208 مکانیسمهای all، include، a، mx، ip4، ip6، exists و ptr و تغییردهنده redirect را تعریف میکند. قید تصمیم را وقتی مکانیسم تطبیق پیدا کند مشخص میکند: + قبول (پیشفرض)، - رد، ~ ردّ نرم و ? خنثی.
برای دامنهای که از یک ارائهدهنده ایمیل استفاده میکند، یک مکانیسم تقریباً همه کار را انجام میدهد: include. به گیرنده میگوید رکورد SPF دامنه ارائهدهنده را ارزیابی کند و تطابق آنجا را تطابق برای دامنه شما بداند. هرگز نشانی IP را با دست کپی نمیکنید، پس ارائهدهنده میتواند سرورهایش را عوض کند بدون اینکه DNS شما لمس شود. اگر از سرور خودتان ارسال میکنید، ip4 و ip6 نشانیهایش را فهرست میکنند و هیچ جستجویی هزینه ندارند.
SPF به صورت یک رکورد TXT منتشر میشود. یک رشته TXT به ۲۵۵ اکتت محدود است و یک رکورد بلندتر به چند رشته تقسیم میشود که گیرنده بدون فاصله به هم میچسباند. بیشتر ویرایشگرهای DNS این تقسیم را برای شما انجام میدهند.
چرا یک دامنه فقط میتواند یک رکورد SPF داشته باشد؟
اگر دو رکورد TXT هر دو با v=spf1 شروع شوند، گیرنده نمیتواند انتخاب کند و خطای دائمی برمیگرداند، پس هر پیام در SPF شکست میخورد. RFC 7208 میگوید دامنه نباید بیش از یک رکورد SPF داشته باشد. Proton، Mailbox.org و Mailfence همه یک توصیه میدهند: وقتی سرویسی اضافه میکنید، include آن را در رکوردی بگذارید که از قبل وجود دارد.
علت معمول یک تغییر است. رکورد ارائهدهنده جدید را منتشر میکنید و قدیمی را فراموش میکنید. فهرست TXT را باز کنید، دو خط را در یکی ادغام کنید و باقیمانده را حذف کنید. وقتی برای همیشه ارائهدهنده را عوض میکنید، include قدیمی را جایگزین کنید به جای افزودن به آن. خود انتقال در نحوه انتقال ایمیل به ارائهدهنده جدید بدون از دست دادن نامه توضیح داده شده است.
محدودیت ۱۰ جستجو در SPF چیست؟
ارزیابی SPF پس از ۱۰ عبارت که جستجوی DNS انجام میدهند با خطای دائمی متوقف میشود، پس رکوردی که به ۱۱ نیاز دارد برای هر فرستندهای شکست میخورد. عبارتهایی که میشمارند include، a، mx، ptr، exists و تغییردهنده redirect هستند. مکانیسمهای all، ip4 و ip6 نمیشمارند. RFC 7208 همچنین میگوید پیادهسازیها باید پس از دو جستجوی خالی متوقف شوند، یعنی جستجوهایی که چیزی برنمیگردانند یا دامنهای ناموجود را نشان میدهند.
یک include یک جستجو بهعلاوه تمام جستجوهای داخل رکورد آن حساب میشود. پس یک ارائهدهنده صندوق نامه ارزان است، اما انباشتن میزبان نامه، سرویس خبرنامه، میز پشتیبانی و فرم وبسایت جمع میشود. اول سرویسهایی را که دیگر استفاده نمیکنید حذف کنید. وقتی ابزاری نشانیهای IP ثابت منتشر میکند، بازههای ip4 و ip6 هیچ هزینهای ندارند. شمارش دقیق هر ارائهدهنده توسط Postelva اندازهگیری نشده، پس رکورد نهایی را با یک جستجو آزمایش کنید پیش از اعتماد به آن، همانطور که در نحوه بررسی رکوردهای MX، SPF، DKIM و DMARC نشان داده شده است.
آیا رکورد SPF خود را با ~all یا -all تمام کنم؟
جز وقتی همه فرستندهها را کنترل میکنید از ~all استفاده کنید: سرورهای دیگر را مشکوک علامت میزند بدون اینکه از گیرندهها بخواهد نامه را کاملاً رد کنند. قید روی all حکم هر سروری است که چیزی پیش از آن تطبیق نیافته. -all یعنی رد، ~all یعنی ردّ نرم، ?all یعنی خنثی.
یک -all سختگیرانهتر است، اما RFC 9989 هشدار میدهد که میتواند باعث شود گیرنده پیش از اجرای DMARC پیام را رد کند، و این یک پیام فوروارد شده را که DKIM میتوانست نجات دهد پنهان میکند. به همین دلیل رکوردی که Proton و Mailbox.org نشان میدهند با ~all تمام میشود. طبق مقایسه Postelva در ۱۲ نوامبر ۲۰۲۶، سه ارائهدهندهای که مقدار کامل SPF را در صفحات راهنمایشان دارند (Proton Mail، Mailbox.org، Fastmail) هر کدام دقیقاً ۱ include دارند، پس یک رکورد تکارائهدهنده ۱ جستجو هزینه دارد، و دو تای آنها با ~all تمام میشوند در حالی که مقدار Fastmail با ?all تمام میشود.
هر پایانی که باشد، DMARC اجرا را انجام میدهد. سیاست را آنجا تنظیم کنید، همانطور که در راهنمای راهاندازی DMARC توضیح داده شده است. این سه رکورد در SPF در برابر DKIM در برابر DMARC مقایسه شدهاند.
SPF چه چیزی را بررسی میکند و چه چیزی را نه؟
SPF سرور پشت نشانی فرستنده پوشش (envelope) و نام HELO را بررسی میکند، نه نشانی From که خواننده در پیام میبیند. یک پیام ممکن است برای دامنهای که کسی متوجه نمیشود SPF را بگذراند و همچنان دامنه شما را در خط From نشان دهد. DMARC این شکاف را میبندد با الزام همترازی بین این دو.
SPF همچنین با فوروارد ساده دوام نمیآورد، چون فورواردکننده از نشانی IP خودش تحویل میدهد. یک قاعده تجربی قابل استناد: SPF سرورها را مجاز میکند، یک رکورد در هر دامنه، حداکثر ۱۰ جستجو. برای دامنهای که چیزی نمیفرستد، v=spf1 -all و قالب «بدون ایمیل» Postelva را منتشر کنید؛ برای دامنهای که میفرستد و دریافت میکند، قالبهای DNS با یک کلیک برای Proton Mail، Fastmail، Zoho Mail، Google Workspace و Microsoft 365، بهعلاوهی قالب SPF + DMARC و قالب «بدون ایمیل» برای دامنهای که چیزی ارسال نمیکند.
پرسشهای رکورد SPF
رکورد SPF را کجا قرار میدهم؟
در یک رکورد TXT در ریشه دامنه، در بیشتر ویرایشگرهای DNS host برابر @. SPF نوع رکورد جداگانه ندارد و نوع قدیمی SPF استفاده نمیشود.
تغییر SPF چقدر طول میکشد تا اثر کند؟
تغییر در حدود TTL قدیمی رکورد پخش میشود، اغلب در یک یا دو ساعت. حلکنندهای که یک رکورد گمشده را کش کرده ممکن است تا زمان کش منفی منطقه همان پاسخ قدیمی را بدهد.
آیا اگر فقط دریافت میکنم به رکورد SPF نیاز دارم؟
بله، یک رکورد کوتاه: v=spf1 -all منتشر کنید تا بگویید هیچ سروری به نام دامنه ارسال نمیکند. این جلوی استفاده دیگران از نام را در پیامهای جعلی میگیرد.
آیا میتوانم فرم تماس وبسایتم را به رکورد اضافه کنم؟
بله، با include آن یا نشانی IP آن. اگر از طریق ارائهدهنده صندوق نامهتان ارسال میکند، ورودی اضافی لازم نیست. اگر از میزبان وب شما ارسال میکند، آن میزبان را به عنوان منبع اضافه کنید.
آیا مکانیسم ptr مفید است؟
نه. RFC 7208 ptr را «do not use» علامت میزند. کند است و به محدودیت ۱۰ جستجو حساب میشود.
خلاصه
- SPF یک رکورد TXT در ریشه دامنه است که با v=spf1 شروع میشود.
- در هر دامنه فقط یک رکورد SPF منتشر کنید؛ دو رکورد خطای دائمی میدهند.
- ارزیابی پس از ۱۰ عبارت که جستجوی DNS انجام میدهند متوقف میشود: include، a، mx، ptr، exists، redirect.
- ip4، ip6 و all در محدودیت حساب نمیشوند.
- Proton Mail: v=spf1 include:_spf.protonmail.ch ~all؛ Mailbox.org: v=spf1 include:mailbox.org ~all.
- ~all پایان معمول است؛ DMARC اجرا را انجام میدهد.
- Postelva رکورد را در DNS رایگان میزبانی میکند؛ یک .com $ 12.49/سال در سال هزینه دارد.
منابع (5)
- RFC 7208، Sender Policy Framework (SPF)، بخشهای 4.5 و 4.6.4 — RFC Editor (خواندهشده در 2026-11-12)
- RFC 9989، DMARC، بخش 7.1 — RFC Editor (خواندهشده در 2026-11-12)
- دامنهی سفارشی و ضد جعل — Proton (خواندهشده در 2026-11-12)
- SPF، DKIM و DMARC برای یک دامنهی سفارشی — Mailbox.org (خواندهشده در 2026-11-12)
- راهنمای DNS فرستندهی Fastmail — Fastmail (خواندهشده در 2026-11-12)