آموزش جلوگیری از اسپم شدن ایمیل و بلاک شدن IP سرور با تنظیم SPF – DKIM – DMARC
حفظ اعتبار سرور ارسال ایمیل (Mail Server) یک امر ضروری است. اگر تنظیمات احراز هویت ایمیل شما ناقص باشد، نام دامنه و IP سرور شما به سرعت در Block list قرار گرفته و ایمیل های ارسالی به جای صندوق ورودی (Inbox)، مستقیما به پوشه اسپم (Spam) یا هرزنامه هدایت می شوند. برای جلوگیری از این اتفاق، لازم است که رکوردهای DNS مرتبط شامل MX، SPF، DKIM، DMARC و همچنین رکورد PTR را به درستی تنظیم کنید.
این راهنما یک آموزش گام به گام و ساده برای کاربران اماتور ارائه می دهد تا این تنظیمات ضروری را در پنل کنترل هاست (مانند cPanel) و یا در سرویس مدیریت DNS خارجی (مانند Cloudflare) انجام دهند.
آموزش قدمبهقدم تنظیم رکوردهای ایمیل در DNS
برای اینکه ایمیلهای شما در پوشه اسپم نیفتند، باید چند رکورد ساده را در بخش مدیریت DNS دامنه خود ایجاد کنید. فرقی ندارد از چه پنلی استفاده میکنید (مثل Cloudflare، cPanel یا DirectAdmin)، در همه آنها مراحل مشابه است.
ابتدا وارد بخش DNS Management یا Zone Editor تنظیمات رکورد های DNS شوید و روی گزینه Add Record کلیک کنید. سپس رکوردهای زیر را یکییکی اضافه کنید:
۱. ایجاد رکورد MX (برای دریافت ایمیلها)
- نوع رکورد را انتخاب کنید: MX
- در فیلد Name / Host بنویسید:
@
(یا نام دامنه خودتان، مثلtest.com
) - در فیلد Value / Mail Server بنویسید:
mail.test.com
- در فیلد Priority مقدار
10
را وارد کنید (عدد کمتر یعنی اولویت بالاتر)
این رکورد مشخص میکند ایمیلهایی که به دامنه شما ارسال میشوند، باید به کدام سرور بروند.
۲. ایجاد رکورد SPF (برای جلوگیری از جعل آدرس ارسالکننده)
- نوع رکورد: TXT
- در فیلد Name / Host بنویسید:
@
- در فیلد Value / Content بنویسید:
v=spf1 ip4:1.2.3.4 include:mail.test.com -all
🔹 این رکورد به سرویسهای ایمیل میگوید فقط سرور 1.2.3.4
و mail.test.com
اجازه دارند از طرف دامنه شما ایمیل بفرستند.
اگر کسی از جای دیگر بخواهد با نام شما ایمیل بفرستد، به عنوان اسپم شناسایی میشود.
۳. ایجاد رکورد DKIM (برای امضای دیجیتال ایمیلها)
- نوع رکورد: TXT
- در فیلد Name / Host بنویسید:
default._domainkey
(یا مقداری که میلسرور شما گفته است) - در فیلد Value / Content رشتهی طولانی کلید عمومی (Public Key) DKIM را وارد کنید.
این مقدار را میتوانید از بخش Email Deliverability در cPanel یا تنظیمات میلسرور خود کپی کنید.
🔹 DKIM باعث میشود گیرنده مطمئن شود ایمیل واقعا از طرف شما ارسال شده و در مسیر دستکاری نشده است.
۴. ایجاد رکورد DMARC (برای کنترل و گزارش جعل ایمیل)
- نوع رکورد: TXT
- در فیلد Name / Host بنویسید:
_dmarc
- در فیلد Value / Content بنویسید:
v=DMARC1; p=none; rua=mailto:[email protected]
🔹 در ابتدا مقدار p=none
را بگذارید تا فقط گزارشها برایتان ارسال شود.
بعد از اطمینان از صحت تنظیمات، میتوانید آن را به p=quarantine
یا p=reject
تغییر دهید تا ایمیلهای جعلی مسدود شوند.
۵. تنظیم رکورد PTR (Reverse DNS)
- در بعضی سرویس دهنده ها، از طریق پنل مدیریت سرور مجازی که دارید، امکان تنظیم این رکورد را خودتان دارید،ولی اگر دسترسی ندارید، باید به پشتیبانی سرویسدهنده سرور یا VPS پیام بدهید و بخواهید Reverse DNS را برای IP شما تنظیم کنند.
- مثلا بگویید:
لطفا برای IP 1.2.3.4 رکورد PTR به mail.test.com تنظیم کنید.
این کار باعث میشود گیرندهها مطمئن شوند که IP واقعا متعلق به سرور شماست. اگر PTR اشتباه باشد، بعضی از سرورها ایمیل شما را به عنوان اسپم رد میکنند.
در پایان: پس از ساخت تمام رکوردها، حدود ۵ تا ۱۵ دقیقه صبر کنید تا فعال شوند. سپس با ابزارهای زیر تست کنید تا مطمئن شوید همهچیز درست کار میکند:
- Mail-Tester.com (برای بررسی امتیاز ارسال ایمیل)
- MXToolbox.com (برای بررسی رکوردهای DNS و خطاها)
نکات امنیتی بسیار مهم در سرور ایمیل
- استفاده از رمزهای عبور قوی برای اکانتهای ایمیل و SMTP
همیشه برای حسابهای ایمیل و دسترسی SMTP از رمزهای ترکیبی (شامل حروف بزرگ و کوچک، اعداد و کاراکترهای خاص) استفاده کنید.
حملات Brute Force بهصورت مداوم روی پورتهای ایمیل انجام میشود و در صورت ضعیف بودن رمز، هکر میتواند وارد سرور شده و از آن برای ارسال اسپم یا فیشینگ استفاده کند. این اتفاق باعث میشود IP سرور در بلاکلیستهای جهانی (مانند Spamhaus، Barracuda و UCEProtect) قرار گیرد و حتی توسط دیتاسنتر مسدود شود. - محدود کردن دسترسی SMTP به IPهای مشخص یا با احراز هویت اجباری
در صورت امکان، دسترسی به پورت SMTP را فقط برای IPهای مجاز باز بگذارید یا از احراز هویت اجباری (SMTP Auth) استفاده کنید تا فقط کاربران واقعی بتوانند ایمیل ارسال کنند. - نظارت منظم بر صف ایمیلهای خروجی (Mail Queue)
هر چند وقت یکبار صف ایمیلها را در سرور (مثلا در Exim یا Postfix) بررسی کنید.
اگر تعداد زیادی ایمیل ناشناخته یا ناخواسته مشاهده شد، احتمال آلودگی سایت یا لو رفتن رمز SMTP یا ارسال ایمیل اسپم ناخواسته وجود دارد.
در cPanel از مسیر Mail Queue Manager و در DirectAdmin از Mail Queue Administration قابل مشاهده است. - بررسی منظم لاگهای ایمیل
فایلهای لاگ مثل/var/log/exim_mainlog
یا/var/log/mail.log
را بررسی کنید تا آدرسهای مشکوک ارسالکننده یا حجم زیاد ارسال مشخص شود. - استفاده از فایروال و محدودسازی پورتها
با استفاده از فایروالهایی مانندCSF
یاUFW
پورتهای غیرضروری (مثل 25، 465، 587) را فقط برای زمانی که استفاده میکنید باز بگذارید.
در صورت عدم نیاز، ارسال از پورت 25 را برای کاربران عادی غیرفعال کنید تا اسپمرها نتوانند از آن استفاده کنند. - نصب و بهروزرسانی آنتیویروس و آنتیاسپم در سرور ایمیل
ابزارهایی مانندClamAV
یاMailScanner
میتوانند قبل از ارسال یا دریافت ایمیل، محتوای آن را برای بدافزار و لینکهای مخرب بررسی کنند. - کنترل افزونهها و اسکریپتهای سایت
یکی از شایعترین دلایل ارسال اسپم از سرور، آلوده شدن افزونههای وردپرس یا CMS است.
افزونهها را فقط از منابع معتبر نصب کنید و همیشه بهروزرسانیهای امنیتی را انجام دهید.
همچنین توصیه میشود افزونههایی مانندWordfence
یاiThemes Security
برای شناسایی بدافزار نصب کنید. - بررسی دورهای دامنه در سرویسهای مانیتورینگ بلکلیست
با ابزارهایی مانند MXToolbox یا spamhaus بررسی کنید که IP یا دامنه شما در لیست سیاه نباشد. در صورت مشاهده، بلافاصله منبع ارسال اسپم را شناسایی و مسدود کنید. - فعال کردن محدودیت تعداد ایمیل ارسالی در ساعت
در cPanel از مسیر Tweak Settings → Mail → Max hourly emails per domain
مقدار منطقی (مثلا 200 تا 500 ایمیل در ساعت) را تعیین کنید تا در صورت ارسال ناگهانی اسپم، سرور کنترل شود. - استفاده از رکوردهای SPF، DKIM و DMARC معتبر
حتی اگر از نظر فنی ارسال ایمیل درست کار کند، نبود این رکوردها میتواند باعث شود هکرها با جعل دامنه شما (Email Spoofing) ایمیل ارسال کنند.
با تنظیم دقیق این رکوردها از جعل آدرس و ارسالهای فیشینگ جلوگیری میشود. - مانیتورینگ حجم و تعداد ایمیلهای ارسالی
اگر از پنلهایی مانند DirectAdmin یا cPanel استفاده میکنید، میتوانید از بخش Email Deliverability یا Mail Statistics برای ردیابی ارسالها استفاده کنید. هرگونه افزایش غیرمعمول باید فورا بررسی شود. - استفاده از سرویس SMTP خارجی برای ارسال انبوه
برای ارسال خبرنامهها یا ایمیلهای انبوه، از سرورهای ایمیل اختصاصی یا سرویسهای خارجی مانند Amazon SES، SendGrid یا Mailgun استفاده کنید.
این کار از فشار روی IP اصلی و خطر بلاکشدن آن جلوگیری میکند.
امنیت سرور ایمیل فقط به تنظیم SPF، DKIM و DMARC خلاصه نمیشود؛ بلکه نیازمند نظارت مداوم، رمزهای قوی، کنترل افزونهها و بررسی صف ارسال است. با رعایت این موارد، نهتنها از اسپم و فیشینگ جلوگیری میکنید، بلکه اعتبار دامنه و تحویل موفق ایمیلهایتان نیز تضمین میشود.
1: آشنایی با رکوردهای ضروری احراز هویت ایمیل
قبل از شروع تنظیمات، لازم است که نقش هر رکورد را بدانید. این رکوردها برای تایید اصالت فرستنده ایمیل و محتوای پیام طراحی شده اند.
رکورد MX (Mail Exchanger)
وظیفه رکورد MX مشخص کردن سرورهای ایمیل مسئول برای دریافت ایمیل های یک دامنه خاص است. به زبان ساده، وقتی کسی به ادرس شما ایمیل می زند، این رکورد به سرورهای دیگر می گوید که ایمیل به کدام سرور باید تحویل داده شود.
مثال: برای دامنه `test.ir`، رکورد MX به ادرس سرور ایمیل شما (مثل `mail.test.ir`) اشاره می کند.
رکورد SPF (Sender Policy Framework)
SPF یک رکورد متنی (TXT) در DNS است که به سرورهای دریافت کننده ایمیل می گوید کدام IP ادرس ها و سرورها مجاز هستند تا به نمایندگی از دامنه شما ایمیل ارسال کنند. این کار جلوی جعل هویت (Spoofing) را می گیرد.
مثال رکورد ساده SPF: v=spf1 +a +mx ip4:1.2.3.4 include:_spf.google.com ~all
در این مثال:
`v=spf1`: نسخه SPF.
`+a +mx`: سرور ایمیلی که با رکورد A یا MX دامنه شما همخوانی دارد، مجاز است.
`ip4:1.2.3.4`: یک ادرس IP خاص را مجاز می کند.
`include:_spf.google.com`: سرورهای گوگل (برای سرویس هایی مانند Google Workspace) را مجاز می کند.
`~all`: سیاست SoftFail. به این معنی است که ایمیل های ارسالی از سرورهای غیرمجاز احتمالا اسپم هستند اما رد نشوند.
رکورد DKIM (DomainKeys Identified Mail)
DKIM به هر ایمیل ارسالی یک امضای دیجیتال اضافه می کند. این امضا به سرور دریافت کننده اجازه می دهد که مطمئن شود محتوای ایمیل در طول مسیر ارسال دستکاری یا تغییر نکرده است.
نحوه کار: کلید خصوصی در سرور ارسال کننده و کلید عمومی در قالب یک رکورد TXT در DNS ذخیره می شود. سرور دریافت کننده با استفاده از کلید عمومی، امضای ایمیل را تایید می کند.
رکورد DMARC (Domain-based Message Authentication, Reporting & Conformance)
DMARC به عنوان تکمیل کننده SPF و DKIM عمل می کند. این رکورد یک سیاست به سرورهای دریافت کننده ارائه می دهد که در صورت ناموفق بودن اعتبارسنجی های SPF و DKIM، با ایمیل ارسالی چه برخوردی داشته باشند.
مثال رکورد DMARC:
v=DMARC1; p=quarantine; rua=mailto:[email protected];
`v=DMARC1`: نسخه DMARC.
`p=quarantine`: سیاست برخورد با ایمیل های نامعتبر. سه گزینه دارد: `none` (فقط گزارش گیری)، `quarantine` (انتقال به پوشه اسپم) و `reject` (رد کامل ایمیل).
`rua=mailto:[email protected]`: ادرس ایمیلی برای دریافت گزارش های DMARC.
رکورد PTR (Pointer Record) یا Reverse DNS
رکورد PTR عملکردی دقیقا برعکس رکورد A دارد. رکورد A نام دامنه را به ادرس IP تبدیل می کند، اما PTR ادرس IP را به نام دامنه (یا Hostname) تبدیل می کند. این رکورد برای میل سرورها بسیار مهم است تا مطمئن شوند IP ارسال کننده واقعا متعلق به دامنه ای است که ادعا می کند.
نکته مهم: رکورد PTR باید توسط ارایه دهنده سرور یا دیتاسنتر (نه در cPanel یا Cloudflare) روی ادرس IP سرور شما تنظیم شود.
2: نحوه تنظیم رکوردها در کنترل پنل (cPanel)
در کنترل پنل هایی مانند cPanel، تنظیم رکوردهای SPF و DKIM بسیار ساده است.
فعال سازی خودکار SPF و DKIM
- وارد cPanel خود شوید.
- از بخش Email، گزینه Email Deliverability (تحویل ایمیل) را انتخاب کنید.
- در کنار نام دامنه مورد نظر (مثل `test.ir`)، اگر وضعیت Problems Exist یا Fix را مشاهده کردید، روی دکمه Manage کلیک کنید.
- در صفحه جدید، اگر رکوردهای SPF و DKIM فعال نباشند، گزینه Install the Suggested Record (نصب رکورد پیشنهادی) را مشاهده خواهید کرد. روی این گزینه برای هر دو رکورد کلیک کنید.
- cPanel به صورت خودکار رکوردهای TXT مورد نیاز را در بخش Zone Editor اضافه می کند. پس از این کار، وضعیت باید به Valid یا Active تغییر کند.
تنظیم رکورد DMARC در cPanel
cPanel معمولا یک رکورد ساده DMARC نیز ارائه می دهد:
- در cPanel به بخش Domains یا Zone Editor بروید.
- روی دکمه +A Record (یا Add Record) کلیک کنید و نوع رکورد را TXT انتخاب کنید.
- Name (نام): مقدار `_dmarc` را وارد کنید. (مثل `_dmarc.test.ir.`)
- Content / Value (محتوا/مقدار): مقدار رکورد DMARC خود را وارد کنید. برای شروع از سیاست `none` استفاده کنید تا فقط گزارش بگیرید.
- مثال: `v=DMARC1; p=none; rua=mailto:[email protected]` (به جای `[email protected]` یک ایمیل معتبر از دامنه خود بگذارید.)
- روی Save Record کلیک کنید.
ایجاد دستی کلید DKIM در صورت عدم تولید خودکار (برای سرورهای بدون cPanel)
اگر از سرور مجازی یا اختصاصی بدون پنل مدیریتی مانند cPanel استفاده می کنید و میل سرور شما کلید DKIM را به طور خودکار تولید نکرده است، باید از طریق SSH اقدام به ایجاد کلید کنید:
- به سرور خود متصل شوید و نرم افزار مدیریت میل سرور (مانند Postfix با DKIM-milter یا Exim) را پیکربندی کنید.
- با استفاده از دستوراتی مانند `opendkim-genkey` کلید عمومی و خصوصی را ایجاد کنید.
- کلید خصوصی (Private Key): در سرور شما باقی می ماند.
- کلید عمومی (Public Key): یک فایل متنی تولید می شود که حاوی رکورد TXT شماست. این همان رشته ای است که باید در تنظیمات DNS وارد کنید.
- خروجی کلید عمومی یک رشته طولانی خواهد بود که باید به عنوان Content/Value رکورد TXT DNS اضافه شود. حتما نام Selector مورد استفاده (مثلا `default`) را به عنوان Name رکورد در DNS وارد کنید (مثلا `default._domainkey`). مثال یک کلید عمومی که باید در Content/Value کپی شود:
v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDn1sR7E7mD0f9C03ZGRkLTRmOGMtMTAtMTJUMjFfMTRfMDFaIiwiaXNfc2VhcmNo21vZGVsc19mb3JfZmFsbGJhY2siOlsiZ2VuZXJhdGl2ZSJdfQ==}
3: نحوه تنظیم رکوردها در Cloudflare (یا هر مدیریت DNS خارجی)
اگر مدیریت DNS دامنه شما روی سرویسی مانند Cloudflare است، باید رکوردها را به صورت دستی در بخش DNS ان سرویس وارد کنید.
تنظیم رکورد MX
- در پنل Cloudflare، بخش DNS را انتخاب کنید.
- یک رکورد جدید با نوع MX اضافه کنید.
- Name (نام): معمولا `@` (برای دامنه اصلی) یا `test.ir`
- Mail server (سرور ایمیل): ادرس سرور ایمیل شما (مثل `mail.test.ir`)
- Priority (اولویت): یک عدد مانند 10 یا 0 (بسته به نیاز سرویس دهنده)
- اطمینان حاصل کنید که وضعیت پراکسی (ابر نارنجی) برای این رکورد خاموش باشد.
تنظیم رکورد SPF (به صورت TXT)
- یک رکورد جدید با نوع TXT اضافه کنید.
- Name (نام): معمولا `@` یا نام دامنه اصلی (مثل `test.ir`)
- Content (محتوا/مقدار): رشته SPF خود را وارد کنید. (مانند مثالی که در گام اول ذکر شد.)
- نکته مهم در Cloudflare: اگر ادرس IP سرور ایمیل شما پشت پراکسی Cloudflare (ابر نارنجی) است، نباید از عبارت `a:` در رکورد SPF استفاده کنید، زیرا Cloudflare ادرس IP اصلی شما را پنهان می کند. در عوض، مستقیما ادرس IP را با `ip4:1.2.3.4` مشخص کنید.
تنظیم رکورد DKIM (به صورت TXT)
- به بخش Email Deliverability در cPanel (یا بخش مربوطه در سرور ایمیل) بروید و رشته طولانی کلید عمومی (Public Key) DKIM را کپی کنید.
- در Cloudflare، یک رکورد جدید با نوع TXT اضافه کنید.
- Name (نام): از نام Selector و پسوند `._domainkey` استفاده کنید (مثل `default._domainkey` یا نامی که سرور شما تولید کرده است).
- Content (محتوا/مقدار): کلید عمومی DKIM کپی شده را وارد کنید.
تنظیم رکورد DMARC (به صورت TXT)
- یک رکورد جدید با نوع TXT اضافه کنید.
- Name (نام): `_dmarc`
- Content (محتوا/مقدار): رشته DMARC خود را وارد کنید.
- مثال: `v=DMARC1; p=none; rua=mailto:[email protected]`
4: تنظیم رکورد PTR (Reverse DNS)
تنظیم رکورد PTR معمولا پیچیده ترین بخش کار برای کاربران عادی است، زیرا کنترل ان در اختیار مدیر دامنه نیست، بلکه در اختیار ارایه دهنده IP است.
- بررسی کنید: Hostname سرور ایمیل خود را که رکورد A ان به IP سرور شما اشاره می کند (مثل `mail.test.ir`) مشخص کنید.
- درخواست تنظیم: با پشتیبانی شرکت ارایه دهنده سرور مجازی یا اختصاصی خود تماس بگیرید و درخواست کنید که رکورد PTR را برای ادرس IP سرور شما (مثل `1.2.3.4`) روی Hostname مشخص شده (مثل `mail.test.ir`) تنظیم کنند.
- تایید: اگر این رکورد تنظیم نشود، سرورهای ایمیل بزرگی مانند Gmail ممکن است ایمیل های شما را فیلتر یا رد کنند.
5: اعتبار سنجی تنظیمات
پس از انجام همه مراحل بالا، لازم است که از صحت تنظیمات خود اطمینان حاصل کنید.
- تست تحویل ایمیل: از یک ابزار تست اعتبار ایمیل (مانند Mail-Tester یا MXToolbox) استفاده کنید.
- ارسال ایمیل: به ادرسی که ابزار تست به شما می دهد یک ایمیل ارسال کنید.
- بررسی نتیجه: ابزار تست، نتیجه را به شما نمایش می دهد و وضعیت رکوردهای SPF، DKIM، DMARC و سلامت کلی ایمیل شما را مشخص می کند. اگر امتیاز پایینی گرفتید، تنظیمات مربوطه را مجددا بررسی کنید.
- اعتبار سنجی دستی با جیمیل (Gmail):
- به یک ادرس ایمیل جیمیل ایمیل ارسال کنید.
- در صندوق ورودی جیمیل خود، ایمیل دریافت شده را باز کنید.
- از طریق منوی سه نقطه کنار دکمه پاسخ، گزینه Show original (نمایش اصلی) یا نمایش محتوای اصلی را انتخاب کنید.
- در صفحه باز شده، در بخش Authentication، وضعیت تاییدیه های SPF، DKIM و DMARC را بررسی کنید. برای عملکرد صحیح، باید مقابل هر سه مورد عبارت PASS (قبول) نوشته شده باشد.
نوع رکورد | هدف | محل تنظیم |
---|---|---|
MX | مشخص کردن سرور دریافتکننده ایمیل | cPanel / Cloudflare / DirectAdmin |
SPF | اعلام IP و سرورهای مجاز برای ارسال ایمیل | بخش DNS دامنه (Cloudflare یا کنترلپنل) |
DKIM | تضمین عدم تغییر محتوای ایمیل در مسیر ارسال | DNS دامنه (رکورد TXT) |
DMARC | تعیین سیاست بررسی و گزارش SPF و DKIM | DNS دامنه (رکورد TXT) |
PTR | تأیید معکوس IP و حفظ اعتبار سرور ایمیل | توسط دیتاسنتر یا ارائهدهنده سرور |
اشتباهات رایج در تنظیم رکوردهای ایمیل
- فعال بودن ابر نارنجی Cloudflare روی رکورد mail.
اطمینان حاصل کنید که رکوردmail
در Cloudflare در حالت DNS only (ابر خاکستری) باشد؛ در غیر این صورت IP واقعی سرور پنهان میشود و SPF یا اتصال SMTP دچار خطا میشود. - استفاده از عبارت +all یا ?all در SPF.
این کار تمام سرورها را برای ارسال ایمیل به نام دامنه شما مجاز میکند و امنیت را از بین میبرد. همیشه از~all
یا-all
استفاده کنید. - فراموش کردن نقطه پایانی در رکورد DMARC در cPanel.
برخی کنترلپنلها نیاز دارند نام رکورد با نقطه تمام شود (مثلا_dmarc.example.com.
)؛ در غیر این صورت رکورد نادرست ذخیره میشود. - وارد کردن کلید DKIM ناقص یا با فاصله اضافی.
رشته DKIM بسیار طولانی است و اگر هنگام کپیکردن شکسته یا ناقص شود، تاییدیه DKIM با خطا مواجه میشود. مطمئن شوید کل رشته در یک خط و کامل وارد شده باشد. - عدم هماهنگی بین Hostname و PTR (Reverse DNS).
رکورد PTR باید دقیقاً به همان Hostname میلسرور اشاره کند. اگر مثلا IP بهserver.example.com
اشاره کند ولی سرور شما باmail.example.com
معرفی شود، SPF و DMARC ممکن است Fail شوند. - عدم تطابق رکورد SPF و DKIM با آدرس ارسالکننده.
اگر ایمیل را از زیردامنه (مثلاsupport.example.com
) ارسال میکنید ولی SPF یا DKIM فقط برای دامنه اصلی (example.com
) تعریف شدهاند، باید رکوردها را برای همان زیردامنه هم ایجاد کنید. - تنظیم چند رکورد SPF مجزا.
در هر دامنه فقط باید یک رکورد SPF وجود داشته باشد. اگر چند رکورد SPF اضافه کنید، اکثر سرورها آن را نامعتبر میشمارند. در صورت نیاز چند مقدار را در یک رکورد ترکیب کنید. - عدم بهروزرسانی رکورد SPF پس از تغییر IP یا سرور ایمیل.
اگر IP یا سرویسدهنده ایمیل شما عوض شده است، حتما IP جدید را در SPF وارد کنید؛ در غیر این صورت SPF fail خواهد شد. - نداشتن سیاست DMARC مناسب.
اگر مدت زیادی رکورد DMARC را رویp=none
نگه دارید، از مزایای حفاظتی آن بیبهره میمانید. پس از اطمینان از صحت تنظیمات، آن را بهp=quarantine
یاp=reject
تغییر دهید. - نبود رکورد A برای mail.example.com.
دامنهای که در رکورد MX به آن اشاره میکنید (مثلاmail.example.com
) باید حتما یک رکورد A داشته باشد که به IP سرور ایمیل اشاره کند؛ در غیر این صورت تحویل ایمیل با خطا مواجه میشود. - ارسال ایمیل از IP متفاوت با رکورد SPF.
اگر ایمیل از سروری ارسال شود که در SPF تعریف نشده، SPF fail میشود حتی اگر DKIM درست باشد. - فعالنکردن DKIM در سرور (خصوصاً در cPanel).
برخی کاربران تصور میکنند cPanel خودکار DKIM را فعال میکند، درحالیکه باید از مسیر Email Deliverability گزینه Install the Suggested Record را بزنند. - نادیدهگرفتن تست Mail-Tester یا Gmail Original Message.
بدون تست عملی، ممکن است یک اشتباه کوچک (مثلا نقطه، فاصله یا کاراکتر اضافی) کل اعتبار ایمیل را از بین ببرد. همیشه پس از هر تغییر رکورد، ایمیل آزمایشی ارسال کنید. - ارسال ایمیل با نام دامنه غیرهمخوان (From: Gmail.com با دامنه شما).
اگر اسکریپت یا افزونهای دارید که از ایمیلهایی مثل[email protected]
برای ارسال استفاده میکند، SPF و DKIM شما بیاثر خواهد بود. همیشه از آدرس ایمیل با دامنه خودتان استفاده کنید.
سوالات متداول درباره اعتبار سنجی ایمیل
تفاوت SPF و DKIM در چیست؟
SPF (Sender Policy Framework) یک رکورد متنی است که ادرس IP سرورهای مجاز برای ارسال ایمیل به نام دامنه شما را مشخص می کند و از جعل هویت فرستنده جلوگیری می نماید. DKIM (DomainKeys Identified Mail) یک امضای دیجیتال به هدر ایمیل اضافه می کند تا ثابت کند محتوای ایمیل در حین انتقال دستکاری نشده است. به طور خلاصه، SPF تایید کننده «چه کسی مجاز است ارسال کند» و DKIM تایید کننده «این پیام تغییر نکرده است» می باشد.
کدام سیاست DMARC بهتر است: None، Quarantine یا Reject؟
پاسخ به این سوال بستگی به سطح اطمینان شما به تنظیماتتان دارد.
- p=none (فقط گزارش گیری): برای شروع و جمع اوری گزارشات بدون رد کردن هیچ ایمیلی توصیه می شود.
- p=quarantine (انتقال به اسپم): ایمیل های نامعتبر را به پوشه اسپم می فرستد. این یک سیاست میانی خوب برای تست است.
- p=reject (رد کامل): ایمیل های نامعتبر را به طور کامل رد می کند و برای بالاترین سطح حفاظت استفاده می شود. پیشنهاد می شود پس از چند ماه از سیاست `quarantine` و اطمینان از صحت ارسال ایمیل های مجاز، به این حالت مهاجرت کنید.
اگر رکورد PTR را تنظیم نکنم، چه اتفاقی می افتد؟
اگر رکورد PTR (Reverse DNS) روی IP سرور شما تنظیم نباشد یا با Hostname سرور ایمیل شما مطابقت نداشته باشد، سرورهای ایمیل بزرگی مانند Gmail و Outlook به احتمال زیاد ایمیل های شما را به عنوان اسپم تشخیص داده یا به طور کامل انها را رد خواهند کرد. PTR برای اطمینان از اصالت سرور ارسال کننده و حفظ اعتبار IP یک ضرورت تلقی می شود.
چرا با وجود تنظیم همه رکوردها، ایمیل های من همچنان به اسپم می روند؟
تنظیم SPF، DKIM، DMARC و PTR، احراز هویت را تضمین می کند، اما تحویل ایمیل (Deliverability) به عوامل دیگری نیز بستگی دارد. برخی از دلایل رایج عبارت اند از: سابقه بد IP سرور، نرخ بالای Bounce، محتوای ایمیل شبیه به اسپم (استفاده از کلمات کلیدی ممنوع)، نداشتن امکان لغو اشتراک واضح در خبرنامه ها، و نسبت کم متن به عکس.
فهرست تیترها
نویسنده: ایرج زاهدی، بنیانگذار و معمار فنی بلوسرور. محتوای این مقالات بر پایه تجربه عملی در طراحی، پیادهسازی و مدیریت پروژههای متنوع میزبانی وب در ایران و خارج از کشور، در طول بیش از یک دهه فعالیت مداوم نوشته شده است. به عنوان متخصص در بهینهسازی عملکرد و عیبیابی سیستمهای هاستینگ (از VPS تا هاست اشتراکی)، هدف من به اشتراکگذاری تجربیات و راهکارهای فنی است؛ همان دانشی که امروز ستون اصلی پایداری و کیفیت در سرویسهای بلوسرور محسوب میشود.