چرا ایمیل‌های وردپرس و ووکامرس اسپم یا برگشت می‌خورند؟ بررسی SPF، DKIM و DMARC

تصور کنید مشتری سفارش را در سایت پرداخت کرده، اما هیچ ایمیلی برای فاکتور، دریافت کد رهگیری یا لینک دانلود دریافت نکرده است. در سایت دیگری کاربری رمز عبورش را فراموش کرده؛ ده‌ها بار روی دکمه «بازیابی رمز عبور» کلیک می‌کند، اما هیچ ایمیلی در صندوق ورودی دریافت نمی‌کند! وقتی پیگر ماجرا می‌شوید، متوجه می‌شوید که ایمیل‌های ارسالی سایت به پوشه هرزنامه (Spam) می‌روند یا اصلا هیچ ایمیلی از سمت سرور ارسال نشده و برگشت خورده‌اند.

اینچنین مشکلات در ارسال ایمیل، یکی از چالش‌های رایج در سایت‌های وردپرسی است. مشکل از خرابی هسته وردپرس یا ووکامرس نیست؛ بلکه ماجرا به قوانین سفت و سخت سرویس‌دهندگان ایمیل همچون گوگل و یاهو برمی‌گردد که هیچ نامه‌ای بدون بررسی شناسنامه‌ای فرستنده و اطمینان از اینکه ایمیل جعلی نباشد، اجازه ورود به صندوق ورودی (Inbox) را ندارد.

در این راهنما بررسی می‌کنیم که علت اسپم شدت ایمیل وردپرس چیست و چطور می‌توان با تنظیم رکوردهای امنیتی روی DNS های دامنه، به ایمیل‌های خود هویت بدهیم. در نهایت نیز بررسی خواهیم کرد که چرا استفاده از سرویس SMTP مطمئن‌ترین راه برای اطمینان از ارسال ایمیل‌های تراکنشی و الانات سایت است.

چرا جیمیل و یاهو به ایمیل پیشفرض وردپرس اعتماد ندارند؟

سرویس‌هایی مثل Gmail و Yahoo روزانه با میلیاردها ایمیل جعلی و فیشینگ بمباران می‌شوند. به همین دلیل سختگیری‌های زیادی در بررسی ایمیل‌ها دارند. برای اینکه ایمیل‌های شما نیز بتوانند از این فیلترها با موفقیت و چراغ سبز عبور کنند، باید بدانید که چه اتفاقاتی در پشت صحنه رخ می‌دهد که باعث حساسیت این فیلترها می‌شود.

ضعف در تابع ایمیل وردپرس

وردپرس برای ارسال ایمیل‌ها از تابع wp_mail() استفاده می‌کند که کاملا وابسته به تابع PHP Mail سرور است. مشکل این تاب در ساده بودن و قدیمی بودن کارکرد آن است؛ این تابع ساختار محتوای ایمیل را بدون اینکه هیچ‌گونه فرآیند احراز هویتی (Authentication) روی آن انجام دهد، مستقیما برای آدرس مقصد ارسال می‌کند.

از نگاه سرویس دهندگان ایمیل، ایمیلی که با تابع PHP ارسال شده باشد، مثل نامه‌ای است که بدون هیچ مهر و امضایی روی پاکت به دست گیرنده رسیده است. به عبارتی یعنی هیچ ساختاری تعیین نمی‌کند که آیا این ایمیل واقعا از طرف فرستنده ارسال شده است؟ به همین دلیل به محض اینکه ایمیل‌های این‌چنین ارسال می‌شود، مستقیم به هرزنامه هدایت خواهد شد.

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

بلاک شدن IP سرور

روی یک هاست اشتراکی ممکن است صدها سایت میزبانی شده باشد که هر کدام به شیوه‌ای از این هاست برای ارسال ایمیل‌ها استفاده می‌کنند که ip همگی یکسان است. حالا فرض کنید یکی از این سایت‌ها اقدام به ارسال بدافزار کند یا اینکه هک شده باشد و از طریق هاست وی، اقدام به ارسال ایمیل‌های تبلیغاتی یا فیشینگ شود. چه اتفاقی رخ می‌دهد؟

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


رکوردهای ایمیل SPF، DKIM و DMARC چه کاربردی دارند؟

حالا برای اینکه به جیمیل، یاهو یا مایکروسافت ثابت کنید که ایمیل‌های ارسالی واقعا از سوی دامنه خودتان ارسال می‌شوند و هیچ هکری آدرس شما را جعل نکرده است، باید از سه رکورد متنی در مدیریت DNS های دامنه استفاده کنید. این سه رکورد به‌عنوان احراز هویت ایمیل مورد استفاده قرار می‌گیرند.

رکورد SPF برای لیست فرستندگان مجاز دامنه

رکورد SPF (مخفف Sender Policy Framework) مانند یک معرفی نامه عمل می‌کند. شما با ثبت این رکورد در DNS دامنه، تعیین می‌کنید که «فقط سرورهایی با آدرس IP مشخص اجازه ارسال ایمیل از طرف دامنه من را دارند.»

با رسیدن ایمیل به یک سرویس‌دهنده مانند جیمیل، بلافاصله رکورد SPF دامنه شما بررسی می‌شود. اگر آی‌پی سروری که ایمیل را فرستاده در لیست شما نباشد، جیمیل متوجه جعل آدرس می‌شود. یک نمونه استاندارد از این رکورد به شکل زیر است:

v=spf1 a mx ip4:185.10.20.30 include:spf.7ho.st ~all

در این مثال، ما اعلام کرده‌ایم که تمامی ایمیل‌های مربوط به دامنه سون هاست که روی IP تعیین شده قرار دادرند، فرستندگان قانونی ما هستند و بقیه منابع نامعتبرند.

رکوردهای ایمیل SPF، DKIM و DMARC چه کاربردی دارند؟

رکورد DKIM برای امضا و جلوگیری از جعل ایمیل‌ها

رکورد DKIM (مخفف DomainKeys Identified Mail) حکم «مهر موم‌شده و امضای دیجیتال» ایمیل‌ها را دارد. در هر ایمیل ارسالی یک امضای رمزنگاری‌شده به هدر (Header) ایمیل توسط سرور اضافه می‌شود و کلید عمومی بازگشایی آن را در DNS دامنه شما قرار می‌دهد.

سرور سرویس دهنده ایمیل با تطبیق این دو کلید، دو موضوع زیر را بررسی می‌کند:

رکورد DMARC برای سیاست برخورد با ایمیل‌های مشکوک

رکورد DMARC (که گاهی به اشتباه DMARK نوشته می‌شود) به سرورهای گیرنده می‌گوید: «اگر ایمیلی با دامنه من به دستتان رسید که در تست SPF یا DKIM رد شد، چه بلایی سرش بیاورید؟»

در این رکورد می‌توانید سه دستور مختلف صادر کنید:

  1. فقط نظارت کن (p=none)
  2. آن را به پوشه اسپم بفرست (p=quarantine)
  3. ایمیل را مسدود و رد کن (p=reject)

همچنین می‌توانید یک آدرس ایمیل معرفی کنید تا گزارش تلاش‌های ناموفق هکرها برای جعل دامنه‌تان به شما ایمیل شود. نمونه این رکورد در DNS به این صورت ثبت می‌شود:

v=DMARC1; p=quarantine; rua=mailto:info@yourdomain.com

چرا با وجود تنظیم رکوردهای فوق باز هم به سرویس SMTP نیاز داریم؟

حالا شاید از خود بپرسید که وقتی روی هاست اشتراکی هم می‌شود تمامی این رکوردها را تنظیم و مدیریت کرد، دیگر چرا سراغ خرید سرویس SMTP برویم؟

پاسخ در محدودیت‌هایی است که روی هاست قرار دارد. سرویس‌های میزبانی وب (حالا چه هاست معمولی و چه هاست تخصصی با منابع بالا مثل وردپرس یا هاست ابری) برای میزبانی وب بهینه شده‌اند و انتخاب خوبی برای مدیریت ایمیل‌هایی با تعداد بالا نیستند.

حتی اگر تمامی رکوردهای DNS شما معتبر و سبز باشند، باز هم روی هاست معمولی با ۳ محدودیت زیر مواجه هستید:

در هاست‌های اشتراکی و حتی سرور مجازی برای جلوگیری از اسپم شدن و همچنین استفاده از یک سرویس اشتراکی برای ارسال ایمیل انبوه، سقف مشخصی برای تعداد ارمیل ارسالی در هر ساعت تعیین می‌شود. برای مثال در هر ساعت بیش از ۵۰ یا ۱۰۰ ایمیل نتواند ارسال شود.

اگر در یک کمپین فروش مانند یلدا یا نوروز یا کمپینی برای عضویت در سایت در یک ساعت مثلا ۵۳ کاربر اقدام به خرید یا ثبت‌نام کنند، به ازای فرآیند ثبت‌نام و انجام خرید دو ایمیل برایشان ارسال می‌شود که مجموعا شامل ۱۰۶ ایمیل است؛ در حالی که محدودیت ساعتی شما روی ۱۰۰ قرار داشته و ۳ تا از کاربران ایمیلی دریافت نخواهند کرد.

بلاک شدن ip سرور و اسپم شدن ایمیل

همانطور که گفتیم در سرویس‌های اشتراکی منابع به صورت مشترک بین چند سایت استفاده می‌شود. IP سرور نیز همین‌طور است. در صورتی که یک سایت باعث بلاک شدن ip سرور شود، ایمیل‌های تمامی سایت‌های روی سرور نیز اسپم خواهند شد.

در فروشگاه سازهایی مانند ووکامرس برای اطمینان از ارسال ایمیل سفارش ووکامرس به صندوق ورودی، باید تابع ایمیل را به کلی کنار بگذارید و به جای آن از پروتکل‌های SMTP بر روی پورت‌های امنی مثل 587 یا 465 استفاده کنید. برای اطلاعات بیشتر در این خصوص می‌توانید از راهنمای حل مشکل ارسال نشدن ایمیل در وردپرس کمک بگیرید.

در حالی که با سرویس ایمیل SMTP مسئولیت ارسال ایمیل به طور کلی از روی هاست اصلی برداشته می‌شود. چنین سرویس‌هایی دارای رنج آی‌پی سفید و تمیز هستند؛ به صورت ۲۴ ساعته مانیتور می‌شوند تا نرخ تحویل ایمیل به صندوق ورودی در بالاترین درصد قرار گیرد. اگر هم مشکلی پیش آید، تعویض ip خللی روی کارکرد سایت اصلی شما نخواهد داشت.

ضمنا برای ارسال ایمیل‌های روزمره همچون مکاتبات یا ساخت اکانت ایمیل برای کارکنان نیز بهتر است به جای ایمیل هاست اصلی، از سرویس هاست ایمیل استفاده کنید که هم ظرفیت بالاتری دارد و هم احتمال ارسال به صندوق ورودی بالاتر خواهد بود.

جدول عیب‌یابی؛ علت اسپم شدن یا برگشت ایمیل دامنه چیست؟

رایج‌ترین خطاهایی که باعث اسپم شدن ایمیل در وردپرس و ووکامرس می‌شوند یا اینکه باعث می‌شود ایمیل‌ها برگشت بخورند، عبارتند از:

مشکل یا خطاعلتراهکار
ارسال ایمیل به هرزنامهارسال با تابع پیش‌فرض PHP یا نقص در رکوردهای DKIM و DMARCاتصال وردپرس به سرویس SMTP با تنظیم رکوردهای DNS
خطای ۵۵۰ برگشت ایمیلمتن ایمیل مشکوک یا بلاک شدن IP سرورجداسازی سرور ارسال ایمیل
خطای ۵۵۰ عدم پذیرش ایمیلعدم تطابق IP فرستنده با رکورد SPF دامنهاصلاح رکوردهای SPF و استفاده از include مربوط به سرویس‌دهنده
عدم ارسال در ساات شلوغیپر شدن سقف ارسال ساعتی ایمیلارسال ایمیل‌های تراکنشی با سرویس SMTP

جمع‌بندی؛ ارسال مطمئن ایمیل‌ها به صندوق ورودی با سرویس SMTP

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

البته نباشد فراموش کرد که پرهیز از ارسال مکرر ایمیل‌های تبلیغاتی، لینک‌های مخرب و به طور کلی متن‌هایی که حساسیت برانگیز هستند نیز روی این مسئله تاثیر دارند.

اگر می‌خواهید یک بار برای همیشه دغدغه نرسیدن ایمیل‌های تراکنشی به مشتری، فاکتورهای فروش، ایمیل‌های OTP عضویت و ورود در سایت یا ایمیل لینک فراموشی رمز عبور را برطرف کنید، پیشنهاد می‌کنم پلن‌های سرویس SMTP سون هاست را با مراجعه به نشانی https://7ho.st/hosting/email/smtp بررسی کنید.

پس از خرید این سرویس به کمک راهنمای ارائه شده در مستندات، رکوردهای DNS را روی دامنه یا سرویس CDN خود تنظیم کنید. سپس به کمک راهنمای اتصال سرویس SMTP به وردپرس یا ووکامرس، کلیه ایمیل‌های خودکار خود را با ارسال از طریق این سرویس بفرستید تا با خیالی آسوده به صندوق ورودی ارسال شوند.

↑
خروج از نسخه موبایل