یکی از مشکلات رایج در وب‌سایت‌های وردپرسی، عدم تحویل صحیح ایمیل‌های سیستمی است. ایمیل‌های تأیید ثبت‌نام، بازیابی رمز عبور، اعلان‌های فروشگاه و فرم‌های تماس یا به مقصد نمی‌رسند یا در پوشه اسپم گیرنده قرار می‌گیرند. این مقاله علت اصلی این مشکل را بررسی کرده و راه‌حل جامع آن را با استفاده از افزونه WP Mail SMTP ارائه می‌دهد.

علت اصلی مشکل: محدودیت‌های تابع PHP Mail

وردپرس به‌صورت پیش‌فرض از تابع mail() در PHP برای ارسال ایمیل بهره می‌برد. این تابع ایمیل را مستقیماً از سرور میزبان ارسال می‌کند، بدون احراز هویت، بدون امضای دیجیتال، و بدون هیچ‌گونه تأییدیه‌ای از هویت فرستنده.

سرورهای ایمیل مدرن نظیر Gmail، Outlook و Yahoo از پروتکل‌های امنیتی استانداردی مانند SPF، DKIM و DMARC برای ارزیابی اعتبار فرستنده استفاده می‌کنند. ایمیل‌هایی که فاقد این اعتبارسنجی‌ها باشند، به‌عنوان پیام‌های مشکوک شناسایی شده و به پوشه هرزنامه منتقل می‌شوند یا به‌طور کامل رد می‌گردند.

راه‌حل: استفاده از پروتکل SMTP احراز هویت‌شده

SMTP یا Simple Mail Transfer Protocol، استانداردی است که سرویس‌های ایمیل حرفه‌ای برای ارسال پیام به کار می‌گیرند. در این روش، هویت فرستنده پیش از ارسال تأیید می‌شود، ایمیل دارای امضای دیجیتال است و نرخ تحویل به‌طور قابل‌توجهی افزایش می‌یابد.

افزونه WP Mail SMTP وردپرس را به‌گونه‌ای پیکربندی می‌کند که ایمیل‌ها به‌جای تابع PHP Mail، از طریق یک سرویس SMTP معتبر ارسال شوند.

نصب و پیکربندی افزونه WP Mail SMTP

مرحله اول: نصب افزونه

۱. وارد پیشخوان وردپرس شوید
۲. به افزونه‌ها ← افزودن بروید
۳. عبارت WP Mail SMTP را جستجو کنید
۴. افزونه را نصب و فعال‌سازی نمایید

مرحله دوم: اجرای راه‌انداز اولیه

پس از فعال‌سازی، به WP Mail SMTP → Settings مراجعه کرده و گزینه Launch Setup Wizard را انتخاب کنید. این ویزارد فرآیند پیکربندی را به‌صورت مرحله‌به‌مرحله راهنمایی می‌کند.

مرحله سوم: انتخاب سرویس ارسال ایمیل

الف) استفاده از SMTP سرور میزبان (گزینه پایه)

در صورتی که سرویس‌دهنده میزبانی، سرور SMTP در اختیار دارد:

پارامتر

مقدار

Mailer

Other SMTP

SMTP Host

mail.yourdomain.com

SMTP Port

587 (TLS) یا 465 (SSL)

Encryption

TLS

Username

[email protected]

Password

رمز عبور صندوق ایمیل

ب) استفاده از سرویس‌های ارسال ایمیل تخصصی (گزینه پیشنهادی)

سرویس‌های تخصصی به دلیل زیرساخت اختصاصی، نرخ تحویل بالاتری نسبت به SMTP میزبان دارند:

Brevo (Sendinblue): ارسال رایگان تا ۳۰۰ ایمیل در روز؛ مناسب برای وب‌سایت‌های کوچک و متوسط

Mailgun: مقیاس‌پذیر و مناسب برای سایت‌های با حجم ارسال بالا

SendGrid: دارای پلن رایگان؛ گزینه‌ای محبوب در میان توسعه‌دهندگان

Amazon SES: مقرون‌به‌صرفه‌ترین گزینه برای ارسال در حجم بزرگ

مرحله چهارم: تنظیم اطلاعات فرستنده

این بخش در مسیر WP Mail SMTP → Settings → General قرار دارد. پس از ورود به این صفحه، دو فیلد اصلی را باید تکمیل کنید:

در بخش تنظیمات، موارد زیر را وارد کنید:

From Email: آدرس ایمیلی که پیام‌ها از طرف آن ارسال خواهند شد(این آدرس باید با همان دامنه‌ای که در SMTP تنظیم کرده‌اید مطابقت داشته باشد)

From Name: نام سازمان یا وب‌سایت شما (نامی که گیرنده در فیلد «از طرف» می‌بیند)

گزینه Force From Email را فعال کنید تا تمامی ایمیل‌های وردپرس از آدرس مشخص‌شده ارسال گردند

مرحله پنجم: آزمون ارسال ایمیل

به SMTP → Tools → Email Test WP Mail مراجعه کنید، آدرس ایمیل مقصد را وارد نموده و گزینه Send Email را انتخاب کنید.

دریافت ایمیل در صندوق ورودی (نه هرزنامه) به معنای صحت پیکربندی است.

اگر ایمیل هنوز ارسال نمی‌شود

چند علت رایج وجود دارد که ارزش بررسی دارند:

اطلاعات ورود نادرست: نام کاربری باید آدرس ایمیل کامل باشد، نه فقط بخش قبل از @.

پورت مسدود: اگر پورت ۵۸۷ پاسخ نمی‌دهد، پورت ۴۶۵ را امتحان کنید. برخی سرویس‌دهندگان هاستینگ یکی از این پورت‌ها را محدود می‌کنند.

محدودیت فایروال: با پشتیبانی فنی هاست تماس بگیرید و از باز بودن پورت‌های SMTP اطمینان حاصل کنید.

رکوردهای DNS تنظیم‌نشده: اگر ایمیل‌ها ارسال می‌شوند اما به اسپم می‌روند، احتمالاً مشکل از DNS است.

آیا این پاسخ مفید بود؟ 1 کاربر این مقاله را مفید می دانند (1 رای)