Defaults.Exposed

Defaults.Exposedرفع اشکال‌هاGuides

ایمیل‌های فرم تماس به اسپم می‌روند — رفع فرستنده وب‌سرور (۲۰۲۶)

منتشرشده 2026-07-08

ارقام تا 2026-06-29 · روش‌شناسی v7. داده‌های آماری کل در 261 میلیون دامنه درجه‌بندی‌شده. ببینید چگونه درجه‌بندی می‌کنیم.

ایمیل‌های فرم تماس و وب‌سایت به اسپم می‌روند چون وب‌سرور شما آن‌ها را بدون احراز هویت ارسال می‌کند — بدون مجوز SPF، بدون امضای DKIM. رفع قابل اعتماد، هدایت آن ایمیل از طریق SMTP احراز هویت‌شده است، نه whitelist کردن سرور. 46.4٪ از 261,086,232 دامنه درجه‌بندی‌شده در سرشماری Defaults.Exposed (داده‌ها تا 2026-06-29) اصلاً رکورد SPF ندارند.

ترتیب رفع مهم است و اکثر آموزش‌ها آن را برعکس می‌گویند. اسکن رایگان اجرا کنید تا ببینید دامنه‌تان واقعاً چه چیزی منتشر می‌کند؛ ایمیل سایت را از طریق SMTP احراز هویت‌شده (ارائه‌دهنده صندوق پستی یا سرویس ایمیل تراکنشی) هدایت کنید تا امضای DKIM واقعی بگیرد؛ آدرس From فرم را درست کنید؛ و تنها به عنوان آخرین راه‌حل IP سرور را به SPF اضافه کنید.

چرا ایمیل‌های وب‌سایتم به اسپم می‌روند؟

به خاطر کسی که واقعاً آن‌ها را ارسال می‌کند. وقتی بازدیدکننده‌ای فرم تماس را پر می‌کند، ایمیل توسط ارائه‌دهنده پستی‌تان ارسال نمی‌شود — وب‌سرور خودش آن را تولید می‌کند، معمولاً از طریق mail() PHP. از دید گیرنده، آن پیام:

ایمیل بدون احراز هویت از یک IP با اعتبار مختلط دقیقاً همان چیزی است که فیلترهای اسپم برای شناسایی آن وجود دارند — Gmail و Outlook یک سرور تصادفی می‌بینند که ادعا می‌کند شماست. پایه گسترده‌تر تاریک است: 46.4٪ از دامنه‌ها اصلاً SPF ندارند، و تنها 10.59٪ (27,640,987 از 261,086,232 دامنه درجه‌بندی‌شده، سرشماری تا 2026-06-29) یک سیاست DMARC اعمال می‌کنند.

چرا سایت‌های وردپرسی بیشتر تحت تأثیر این مشکل هستند؟

وردپرس همه ایمیل‌هایش را — اطلاعیه‌های فرم، بازنشانی رمز عبور، تأییدیه‌های سفارش — از طریق یک تابع، wp_mail()، ارسال می‌کند که به طور پیش‌فرض mail() PHP روی وب‌سرور را فراخوانی می‌کند. هر سایت وردپرسی که عمداً مجدداً پیکربندی نشده باشد، از همان ابتدا یک فرستنده بدون احراز هویت است. افزونه‌های فرم (Contact Form 7، WPForms، Gravity Forms) همه ایمیل را به همان تابع می‌دهند: به نظر مشکل افزونه می‌رسد اما مشکل حمل‌ونقل است.

رفع مشکل، یک افزونه فرم متفاوت نیست بلکه یک افزونه SMTP (WP Mail SMTP و معادل‌هایش) است که همه چیزی را که wp_mail() ارسال می‌کند از طریق یک حساب ایمیل واقعی و احراز هویت‌شده مسیردهی می‌کند — زیرساختی که SPF شما قبلاً مجاز کرده با یک امضای DKIM ضمیمه.

سایت باید از کدام روش ارسال استفاده کند؟

روش ارسالSPFDKIMبعد از مهاجرت هاست ادامه دارد؟نظر
PHP mail() / wp_mail() پیش‌فرض از وب‌باکسشکست می‌خوردنداردn/a — همه‌جا خرابمشکل است، گزینه نیست
SMTP احراز هویت‌شده از طریق ارائه‌دهنده صندوق پستی (Google Workspace، Microsoft 365 و غیره)pass می‌شودامضا شدهبله — مستقل از هاستینگرفع برای اکثر سایت‌ها
سرویس ایمیل تراکنشی (SES، Postmark، Brevo و غیره) با دامنه تأیید شدهpass می‌شودامضا شدهبلهرفع در حجم بالا (e-commerce، فرم‌های بزرگ)
IP وب‌سرور به رکورد SPF اضافه شدهpass می‌شود (فقط SPF)نداردخیر — بدون صدا خراب می‌شود وقتی IP تغییر کندفقط پشتیبان — ببینید پایین

برای چند اطلاعیه در روز، SMTP از طریق صندوق پستی که از قبل دارید کوتاه‌ترین مسیر است؛ در حجم واقعی، یک سرویس تراکنشی برای آن ساخته شده. هر دو DKIM می‌دهند — میانبر whitelist کردن IP هرگز این کار را نمی‌کند.

چطور قابلیت تحویل ایمیل فرم تماس را رفع کنم؟

  1. قبل از دست زدن به هر چیزی، اسکن رایگان را در defaults.exposed اجرا کنید. نشان می‌دهد که SPF، DKIM و DMARC دامنه‌تان واقعاً چه چیزی منتشر می‌کنند — چه در حال رفع حمل‌ونقل فرم باشید، رکورد گمشده، یا هر دو. اصلاً SPF ندارید؟ با رفع SPF شروع کنید.
  2. یک هویت SMTP اختصاصی برای سایت بسازید — مثلاً [email protected] در ارائه‌دهنده صندوق پستی‌تان، یا یک دامنه فرستنده تأیید شده در سرویس تراکنشی. از رمز عبور اپ یا کلید API که قابل ابطال باشد استفاده کنید، نه رمز عبور صندوق پستی یک نفر.
  3. ایمیل سایت را از طریق آن هدایت کنید. وردپرس: یک افزونه SMTP نصب کرده و به آن حساب اشاره دهید. سایر stack‌ها: mailer فریمورک را به جای mail() محلی پیکربندی کنید.
  4. آدرس From را درست کنید (الگوی ضد زیر): From باید دامنه خودتان باشد؛ بازدیدکننده در Reply-To قرار می‌گیرد.
  5. اگر فرستنده سرویس تراکنشی است، رکوردهای DKIM آن را اضافه کنید (معمولاً یک جفت CNAME) تا ایمیل با دامنه شما امضا شود — مراحل DNS مشابه راهنماهای تنظیم SPF هستند.
  6. یک ارسال آزمایشی انجام داده و دوباره اسکن کنید. Header‌ها باید spf=pass و dkim=pass را برای دامنه شما نشان دهند؛ سپس هر چیز دیگری که اسکن علامت می‌زند را از طریق رفع SPF و رفع DKIM رفع کنید.

چرا فرم ایمیل را “از” آدرس ایمیل بازدیدکننده ارسال می‌کند؟

رایج‌ترین آسیب خودآسیب‌رسانانه در پیکربندی فرم، و بسیاری از افزونه‌ها قبلاً این کار را به طور پیش‌فرض انجام می‌دادند: اطلاعیه از: آدرس بازدیدکننده می‌رسد تا بتوانید reply بزنید. راحت به نظر می‌رسد، و جعل هویت است. سرور شما حق ارسال ایمیل به عنوان [email protected] را ندارد — SPF و DKIM برای gmail.com شکست می‌خورد، و سیاست DMARC Gmail به گیرندگان می‌گوید آن را به اسپم بفرستند یا رد کنند. رفع هیچ هزینه‌ای ندارد:

هر افزونه فرم اصلی این را پشتیبانی می‌کند؛ دو فیلد در تنظیمات اطلاعیه است.

چرا فقط IP سرور را به رکورد SPF اضافه نکنم؟

اول چیزی است که اکثر thread‌های انجمن به سراغش می‌روند، و به دلیلی پشتیبان است. اضافه کردن ip4:<server> (یا مکانیزم a برای هاست وب) به SPF چک خام را pass می‌کند — اما:

این مسیر را برای موارد واقعاً محدود نگه دارید: یک سرور اختصاصی با IP ثابتی که کنترل می‌کنید و اپلیکیشنی که نمی‌تواند SMTP صحبت کند — و در صورت امکان آن را با امضای DKIM روی باکس جفت کنید.

آیا SPF آدرسی را که فرمم در “From” قرار می‌دهد بررسی می‌کند؟

خیر — و این نیمی از تشخیص‌های خود-آموز را گیج می‌کند. گیرندگان SPF را در برابر دامنه Return-Path (RFC5321.MailFrom) ارزیابی می‌کنند، نه header From. وب‌سرورها اغلب hostname خودشان را روی Return-Path ثبت می‌کنند، بنابراین رکورد SPF شما اصلاً مشورت نشده — گیرنده SPF را برای srv0421.examplehost.com بررسی کرد. SMTP احراز هویت‌شده این را هم رفع می‌کند: Return-Path دامنه شما می‌شود، بنابراین pass SPF نهایتاً برای شما حساب می‌شود. این هم دلیلی است که DKIM اهمیت دارد — alignment DMARC نیاز به یک pass مرتبط با دامنه در From دارد، و امضای DKIM با پیام منتقل می‌شود.

پرسش‌های متداول

آیا افزونه SMTP ایمیل‌های بازنشانی رمز عبور و WooCommerce را هم رفع می‌کند؟ بله. در وردپرس همه چیز از طریق wp_mail() جاری می‌شود، بنابراین مسیردهی مجدد آن اطلاعیه‌های فرم، بازنشانی رمز عبور و ایمیل‌های سفارش را در یک حرکت رفع می‌کند.

آیا اگر از افزونه SMTP استفاده کنم هنوز به رکوردهای SPF و DKIM نیاز دارم؟ بله — افزونه تغییر می‌دهد کدام زیرساخت ایمیل شما را ارسال می‌کند؛ رکوردها همان چیزی هستند که آن را مجاز می‌کنند. اگر دامنه شما در 46.4٪ از 261,086,232 دامنه درجه‌بندی‌شده بدون رکورد SPF (سرشماری، 2026-06-29) قرار دارد، SMTP احراز هویت‌شده به تنهایی شما را نجات نمی‌دهد. چک‌لیست ایمیل دامنه جدید مجموعه رکورد کامل را پوشش می‌دهد.

ایمیل‌های فرمم SPF را pass می‌کنند اما DMARC شکست می‌خورد — چرا؟ تقریباً همیشه الگوی ضد جعل From بالا، یا SPF که برای دامنه Return-Path هاست pass می‌شود نه دامنه شما. ابتدا From/Reply-To را رفع کنید؛ اگر هنوز شکست می‌خورد، عنصر گمشده امضای DKIM تراز شده است — ببینید “امضای DKIM معتبر نیست”. اگر ابزارهای SaaS فراتر از وب‌سایت هم شکست می‌خورند، راهنمای SPF-شکست‌خورده-برای-SaaS ترتیب رفع را پوشش می‌دهد.

آیا این همه ارزش دارد برای یک فرم تماس کم‌ترافیک؟ فرم معمولاً جایی است که پول وارد می‌شود — یک استعلام از دست رفته مشتری‌ای است که هرگز نمی‌دانستید از دست دادید. و رفع رایگان است؛ مانع دانستن این بود که وب‌سرور از ابتدا فرستنده بدون احراز هویت بود.

گزارش را به صاحب سایت بفرستید

اگر شما توسعه‌دهنده یا پیمانکاری هستید که این را رفع می‌کنید: وقتی ارسال آزمایشی pass شد، اسکن رایگان را دوباره اجرا کرده و گزارش درجه‌بندی‌شده را به صاحب سایت ارسال کنید — یک سابقه به‌تاریخ و به زبان ساده که دامنه به درستی احراز هویت می‌کند، و مدرکی که برای تمدید بیمه سایبری یا پرسشنامه امنیتی مشتری بعدی نیاز خواهند داشت. اگر صاحب سایتی هستید که این را می‌خوانید چون استعلام‌ها دیگر نمی‌رسند: این صفحه و گزارش اسکنتان را برای کسی که وب‌سایتتان را اداره می‌کند بفرستید — یک کار نیمه‌روزه با قبل و بعدی که می‌توانند به شما نشان دهند.

دامنه‌تان را بررسی کنید ← · SPF برای ابزارهای SaaS شما شکست می‌خورد؟ ← · رفع SPF ← · چگونه درجه‌بندی می‌کنیم ← · فقط داده‌های جمعی. داده‌ها در اتحادیه اروپا ذخیره و پردازش می‌شوند.