معرفی رکورد SPF
معرفی رکورد SPF

معرفی رکورد SPF

رکورد SPF – راهکار سریع و معرفی

راهکار سریع (Quick Fix)

رکوردهای SPF برای این استفاده می‌شوند که مشخص کنند کدام سرورها (IPها) اجازه دارند از طرف دامنه‌ی شما ایمیل ارسال کنند.

ما یک رکورد SPF پیش‌فرض در اختیار شما قرار داده‌ایم که شامل تمام رنج‌های IP شرکت Hostek است. اگر سایت جدیدی ایجاد کرده‌اید و از Nameserverهای ما استفاده می‌کنید، این رکورد به‌صورت خودکار اعمال شده است.

اما اگر:

  • سایت قبلی دارید و رکورد SPF ندارید

  • یا از Nameserverهای ما استفاده نمی‌کنید

باید به‌صورت دستی رکورد زیر را در تنظیمات DNS خود اضافه کنید:

pgsql

CopyEdit

Record type: TXT  

Record name: @ (یا خالی بگذارید)  

Data: “v=spf1 include:spf.ezhostingserver.com -all”

 

 اطلاعات پایه‌ای درباره SPF

SPF مخفف Sender Policy Framework است.
این رکورد مشخص می‌کند کدام منابع (سرورها) مجاز به ارسال ایمیل از طرف دامنه شما هستند.

وقتی یک سرور گیرنده ایمیل را دریافت می‌کند، با بررسی رکورد SPF موجود در DNS، می‌تواند قبل از دریافت بدنه ایمیل، آن را از یک منبع غیرمجاز رد کند.

برای اینکه SPF به‌درستی کار کند، دو شرط باید رعایت شود:

  1. یک رکورد SPF معتبر باید برای دامنه شما منتشر شده باشد.

  2. سرور گیرنده باید از طریق DNS رکورد SPF را بررسی کند و طبق نتیجه آن تصمیم‌گیری کند.

Crafting an SPF record

ساختار رکورد SPF

یک رکورد SPF از ۳ بخش اصلی تشکیل شده است. در ادامه، یک نمونه ساده را بررسی می‌کنیم و هر بخش را توضیح می‌دهیم:

ini

CopyEdit

v=spf1 ip4:8.43.59.66 a -all

(در این مثال از یک IP عمومی استفاده شده است.)

 بخش اول: نسخه SPF

ini

CopyEdit

v=spf1

این قسمت مشخص می‌کند از کدام نسخه SPF استفاده می‌شود.
در حال حاضر تنها نسخه فعال و مورد استفاده همین v=spf1 است و این بخش تغییر نمی‌کند.

اگر علاقه‌مند به جزئیات فنی این بخش هستید، می‌توانید مستند RFC مربوط به SPF را مطالعه کنید.

 بخش دوم: مکانیزم‌ها (Mechanisms)

مکانیزم‌ها مشخص می‌کنند چه سرورها یا منابعی مجاز به ارسال ایمیل هستند.
در مثال بالا داریم:

makefile

CopyEdit

ip4:8.43.59.66 a

  • ip4:8.43.59.66 یعنی این آدرس IP مجاز به ارسال ایمیل از طرف دامنه است.
  • a یعنی اگر رکورد A دامنه به این IP اشاره داشته باشد، ایمیل مجاز است.

 مکانیزم‌های تعریف‌شده در SPF (۸ مورد اصلی):

  1. all – همیشه تطبیق دارد (در انتهای رکورد استفاده می‌شود)
  2. ip4 – مشخص‌کردن آدرس IP نسخه ۴
  3. ip6 – مشخص‌کردن آدرس IP نسخه ۶
  4. a – بررسی IP رکورد A یا AAAA دامنه
  5. mx – استفاده از IPهای مرتبط با رکورد MX دامنه
  6. ptr – استفاده از تطبیق PTR (بر اساس rDNS)
  7. exists – بررسی وجود دامنه‌ای خاص
  8. include – درج رکورد SPF از دامنه دیگر
ساختار رکورد SPF

بخش نهایی: Qualifier‌ها (تعیین‌کننده‌ها)

تا اینجا درباره مکانیزم‌هایی صحبت کردیم که مشخص می‌کنند کدام سرورها مجاز به ارسال ایمیل هستند. حالا وقت آن است که درباره تعیین‌کننده‌ها یا Qualifierها صحبت کنیم.

در واقع، ما تا الان هم از Qualifier استفاده کرده‌ایم؛ فقط به‌صورت پیش‌فرض.
مثلاً وقتی می‌نویسیم ip4:8.43.59.66، در واقع معادل این است:

diff

CopyEdit

+ip4:8.43.59.66

یعنی اگر آدرس فرستنده برابر با این IP باشد، پیام مجاز است (Pass).

all در انتهای رکورد چه می‌کند؟

css

CopyEdit

-all

این یعنی: تمام ایمیل‌هایی که با هیچ‌کدام از شرایط دیگر هم‌خوانی ندارند، رد (Fail) شوند.
یعنی فقط مواردی که با شرط‌های مثبت (مثلاً +ip4, +a) تطبیق دارند، مجاز هستند؛ بقیه‌ی ایمیل‌ها اسپم فرض می‌شوند.

 چهار نوع Qualifier در SPF:

  1. + (Pass):
    تایید می‌کند که فرستنده مجاز است. این علامت پیش‌فرض است، حتی اگر ننویسید.
  2. (Fail):
    اگر شرط برقرار نباشد، پیام رد شود. معمولاً برای -all استفاده می‌شود.
  3. ~ (SoftFail):
    پیام پذیرفته می‌شود ولی به‌عنوان مشکوک (SoftFail) علامت‌گذاری می‌شود. بیشتر در مراحل آزمایشی SPF استفاده می‌شود.
  4. ? (Neutral):
    هیچ تصمیمی گرفته نمی‌شود؛ یعنی نه مجاز و نه رد. سرور گیرنده خودش تصمیم می‌گیرد.

 مثال ترکیبی از یک رکورد SPF کامل:

ini

CopyEdit

v=spf1 ip4:192.0.2.1 include:spf.mailprovider.com ~all

  • ایمیل‌هایی از IP مشخص‌شده یا سرویس‌دهنده معرفی‌شده مجازند.
  • بقیه پیام‌ها SoftFail می‌گیرند
Additional Notes

نکات تکمیلی درباره SPF

محدودیت در فوروارد کردن ساده ایمیل‌ها (Plain Mail Forwarding)

رکورد SPF به‌صورت پیش‌فرض از فوروارد کردن مستقیم ایمیل‌ها پشتیبانی نمی‌کند.
اگر همه موارد زیر با هم اتفاق بیفتند، احتمال زیادی وجود دارد که SPF در مرحله بعدی بررسی شکست بخورد (Fail):

  1. فورواردکننده آدرس Return-Path را بازنویسی نکند
  2. سرور مقصد بعدی، فورواردکننده را در لیست سفید (Whitelist) قرار نداده باشد
  3. سرور مقصد بررسی SPF را انجام دهد

 توصیه مهم هنگام ساخت رکورد SPF

برای شروع، بهتر است رکورد SPF را با SoftFail (یعنی ~all) تنظیم کنید.
بعد از اینکه مطمئن شدید همه سرورهای شما به‌درستی تعریف شده‌اند و هیچ مشکلی در ارسال ندارید، می‌توانید سیاست سخت‌گیرانه‌تری اعمال کرده و رکورد را به Fail (یعنی -all) تغییر دهید.

 ابزارهای مفید برای تست SPF

  1.  SPF Validator – Kitterman
    بررسی دقیق و تست صحت رکورد SPF
  2.  MXToolbox SPF Checker
    مجموعه‌ای از ابزارها برای بررسی وضعیت ایمیل، از جمله SPF

 تست‌های HELO (بر اساس ویکی‌پدیا)

  • در پیام‌هایی با Return-Path خالی (مانند پیغام‌های خطا یا پاسخ خودکار)، بررسی SPF روی شناسه HELO ضروری است.
  • اگر HELO نامعتبر باشد، SPF نتیجه‌ای مانند NONE می‌دهد که کمک خاصی نمی‌کند؛ اما اگر HELO یک نام معتبر باشد، SPF می‌تواند آن را هم تأیید یا رد کند.
  • بررسی HELO به گیرنده‌ها اجازه می‌دهد:
    • فرستنده‌ها را بر اساس HELO Pass در لیست سفید قرار دهند
    • یا تمام ایمیل‌هایی با HELO Fail را رد کنند
  • از HELO می‌توان در سیستم‌های امتیازدهی و شهرت (Reputation Systems) نیز استفاده کرد.

 منابع بیشتر برای مطالعه:

Rate this post