ارسال نشدن ایمیل در وردپرس یکی از مشکلات رایج سایتهاست؛ مشکلی که میتواند باعث نرسیدن پیام فرم تماس، ایمیل بازیابی رمز عبور، اعلانهای سفارش، عضویت کاربران یا پیامهای مدیریتی شود. در بسیاری از موارد، مشکل از خود وردپرس نیست؛ بلکه به روش ارسال ایمیل، تنظیمات هاست، افزونهها یا اعتبارسنجی دامنه مربوط میشود.
در این راهنما، مهمترین علتهای ارسال نشدن ایمیل وردپرس و روشهای عملی برای رفع آن را مرحلهبهمرحله بررسی میکنیم.
چرا وردپرس ایمیل ارسال نمیکند؟
وردپرس بهصورت پیشفرض از تابع wp_mail() برای ارسال ایمیل استفاده میکند. این تابع در بسیاری از هاستها به PHP Mail متکی است. اگر سرور اجازه ارسال ندهد، محدودیت داشته باشد یا ایمیلهای ارسالی از نظر سرویسهای ایمیل معتبر شناخته نشوند، پیامها ارسال نمیشوند یا وارد پوشه اسپم میشوند.
دلایل رایج این مشکل عبارتاند از:
- غیرفعال بودن یا محدود بودن تابع ارسال ایمیل در هاست
- تنظیم نبودن SMTP در وردپرس
- اشتباه بودن آدرس ایمیل فرستنده
- نبود رکوردهای SPF، DKIM یا DMARC برای دامنه
- تداخل افزونهها یا قالب سایت
- تنظیمات اشتباه فرم تماس یا افزونه فروشگاهی
- قرار گرفتن ایمیلها در پوشه Spam یا Promotions
- محدودیتهای سرویسدهنده ایمیل یا هاست
مرحله اول: بررسی کنید مشکل دقیقاً کجاست
قبل از تغییر تنظیمات، بهتر است مشخص کنید کدام نوع ایمیل ارسال نمیشود. برای مثال:
- ایمیل بازیابی رمز عبور ارسال نمیشود؟
- ایمیل فرم تماس به مدیر سایت نمیرسد؟
- ایمیل ثبت سفارش یا وضعیت سفارش ووکامرس مشکل دارد؟
- هیچ ایمیلی از وردپرس ارسال نمیشود؟
اگر فقط یک بخش خاص مشکل دارد، احتمالاً تنظیمات همان افزونه یا فرم نیاز به بررسی دارد. اما اگر هیچ ایمیلی ارسال نمیشود، باید تنظیمات ارسال ایمیل وردپرس و هاست را بررسی کنید.
مرحله دوم: آدرس ایمیل فرستنده را اصلاح کنید
یکی از خطاهای رایج این است که سایت با آدرسی مانند wordpress@domain.com یا یک ایمیل غیرمرتبط با دامنه پیام ارسال میکند. بهتر است آدرس فرستنده از همان دامنه سایت باشد؛ برای نمونه:
- info@example.com
- support@example.com
- noreply@example.com
استفاده از ایمیلهای عمومی مانند Gmail یا Yahoo بهعنوان فرستنده در سایت، ممکن است باعث رد شدن پیام یا اسپم شدن آن شود؛ مخصوصاً وقتی پیام از سرور سایت ارسال میشود اما دامنه فرستنده با سرور ارسالکننده هماهنگ نیست.
مرحله سوم: SMTP را در وردپرس تنظیم کنید
مطمئنترین راه برای رفع مشکل ارسال ایمیل وردپرس، استفاده از SMTP است. SMTP باعث میشود ایمیلها از طریق یک سرویس ایمیل معتبر و با احراز هویت ارسال شوند، نه صرفاً با تابع PHP Mail هاست.
برای تنظیم SMTP چه اطلاعاتی لازم است؟
معمولاً برای اتصال وردپرس به SMTP به اطلاعات زیر نیاز دارید:
- آدرس سرور SMTP
- پورت SMTP
- نوع رمزنگاری مانند SSL یا TLS
- نام کاربری ایمیل
- رمز عبور یا رمز اختصاصی برنامه
- آدرس ایمیل فرستنده
- نام فرستنده
این اطلاعات را میتوانید از پنل هاست، سرویسدهنده ایمیل سازمانی یا سرویس ایمیلی که استفاده میکنید دریافت کنید.
استفاده از افزونه SMTP
برای تنظیم SMTP در وردپرس میتوانید از افزونههای معتبر SMTP استفاده کنید. بعد از نصب افزونه، اطلاعات سرویس ایمیل را وارد کرده و یک ایمیل آزمایشی ارسال کنید. اگر تست با موفقیت انجام شد، یعنی مسیر ارسال ایمیل از وردپرس درست تنظیم شده است.
نکته مهم این است که اطلاعات SMTP را دقیق وارد کنید. اشتباه در پورت، نوع رمزنگاری یا رمز عبور میتواند باعث ارسال نشدن ایمیل شود.
مرحله چهارم: تست ارسال ایمیل انجام دهید
پس از تنظیم SMTP، حتماً یک ایمیل آزمایشی ارسال کنید. اگر ایمیل تست ارسال شد اما پیامهای فرم تماس یا ووکامرس هنوز ارسال نمیشوند، مشکل احتمالاً در تنظیمات افزونه مربوطه است.
در تست ایمیل به این موارد توجه کنید:
- آیا پیام به Inbox رسیده یا Spam؟
- آیا ایمیل با نام فرستنده درست نمایش داده میشود؟
- آیا آدرس From با دامنه سایت هماهنگ است؟
- آیا پیام خطای مشخصی در افزونه SMTP ثبت شده است؟
مرحله پنجم: رکوردهای DNS ایمیل را بررسی کنید
حتی اگر وردپرس ایمیل را ارسال کند، ممکن است سرویسهایی مانند Gmail، Yahoo یا Outlook آن را نامعتبر تشخیص دهند. برای کاهش احتمال اسپم شدن یا رد شدن ایمیل، تنظیم رکوردهای احراز هویت دامنه اهمیت زیادی دارد.
SPF چیست؟
رکورد SPF مشخص میکند کدام سرورها اجازه دارند از طرف دامنه شما ایمیل ارسال کنند. اگر SMTP شما با SPF دامنه هماهنگ نباشد، احتمال رد شدن ایمیل بیشتر میشود.
DKIM چیست؟
رکورد DKIM به ایمیل یک امضای دیجیتال اضافه میکند تا سرویس گیرنده مطمئن شود پیام در مسیر تغییر نکرده و واقعاً از دامنه موردنظر ارسال شده است.
DMARC چیست؟
رکورد DMARC سیاست برخورد با ایمیلهای نامعتبر را مشخص میکند و بر پایه SPF و DKIM کار میکند. تنظیم درست آن میتواند اعتبار ایمیل دامنه را بهتر مدیریت کند.
اگر با DNS آشنا نیستید، بهتر است قبل از تغییر رکوردها از اطلاعات سرویسدهنده ایمیل یا پشتیبانی هاست استفاده کنید؛ چون تنظیم اشتباه DNS ممکن است روی ارسال یا دریافت ایمیل دامنه اثر بگذارد.
مرحله ششم: تنظیمات فرم تماس را بررسی کنید
اگر مشکل فقط مربوط به فرم تماس است، تنظیمات افزونه فرمساز را بررسی کنید. در بسیاری از فرمها، فیلدهای To، From، Reply-To و محتوای پیام قابل تنظیم هستند.
برای جلوگیری از خطا، بهتر است:
- آدرس From از دامنه سایت باشد.
- ایمیل کاربر در Reply-To قرار بگیرد، نه From.
- آدرس گیرنده درست و فعال باشد.
- فیلدهای فرم با الگوی ایمیل افزونه هماهنگ باشند.
برای مثال، اگر کاربر ایمیل خود را در فرم وارد میکند، بهتر است ایمیل او در بخش Reply-To استفاده شود تا بتوانید مستقیماً پاسخ دهید؛ اما فرستنده اصلی بهتر است ایمیلی از دامنه سایت باشد.
مرحله هفتم: ایمیلهای ووکامرس را بررسی کنید
در فروشگاههای وردپرسی، ارسال نشدن ایمیلهای ووکامرس میتواند باعث سردرگمی مشتری و مدیر سایت شود. برای بررسی این بخش، از پیشخوان وردپرس وارد تنظیمات ووکامرس شوید و بخش ایمیلها را بررسی کنید.
موارد مهم در ایمیلهای ووکامرس:
- فعال بودن اعلانهای ایمیلی موردنیاز
- درست بودن آدرس گیرندگان ایمیلهای مدیریتی
- درست بودن نام و آدرس فرستنده
- تداخل نداشتن قالب ایمیل با افزونههای دیگر
- بررسی وضعیت سفارشهایی که باید ایمیل ارسال کنند
اگر ایمیل تست SMTP ارسال میشود اما ایمیلهای سفارش ارسال نمیشوند، احتمالاً مشکل از تنظیمات ووکامرس، وضعیت سفارش یا افزونههای مرتبط با سفارش و پرداخت است.
مرحله هشتم: تداخل افزونهها و قالب را بررسی کنید
گاهی یک افزونه امنیتی، افزونه ضداسپم، افزونه عضویت، افزونه فرمساز یا حتی کدهای قالب میتوانند در فرآیند ارسال ایمیل اختلال ایجاد کنند. برای بررسی تداخل، میتوانید در محیط امن یا زمان کمترافیک، افزونههای مشکوک را موقتاً غیرفعال کرده و ارسال ایمیل را دوباره تست کنید.
اگر با غیرفعال کردن یک افزونه مشکل حل شد، تنظیمات همان افزونه را بررسی کنید یا از جایگزین مناسب استفاده کنید. همچنین بهتر است قبل از هر تغییر مهم، از سایت بکاپ داشته باشید.
مرحله نهم: محدودیتهای هاست را بررسی کنید
برخی سرویسهای هاست برای جلوگیری از ارسال اسپم، تعداد ایمیلهای خروجی را محدود میکنند یا ارسال از طریق PHP Mail را غیرفعال میکنند. اگر بهتازگی سایت را منتقل کردهاید یا مشکل ناگهانی ایجاد شده، با پشتیبانی هاست موضوع را بررسی کنید.
از پشتیبانی هاست میتوانید این موارد را بپرسید:
- آیا تابع mail روی هاست فعال است؟
- آیا محدودیتی برای تعداد ایمیلهای خروجی وجود دارد؟
- آیا ایمیلهای سایت در صف ارسال یا لاگ خطا دیده میشوند؟
- آیا سرور در لیستهای مسدودسازی ایمیل قرار گرفته است؟
- بهترین تنظیمات SMTP برای ایمیلهای دامنه چیست؟
جدول عیبیابی سریع ارسال نشدن ایمیل وردپرس
| نشانه مشکل | علت احتمالی | راهکار پیشنهادی |
|---|---|---|
| هیچ ایمیلی از سایت ارسال نمیشود | مشکل در PHP Mail یا تنظیم نبودن SMTP | SMTP را تنظیم و تست ارسال انجام دهید |
| ایمیل فرم تماس نمیرسد | تنظیمات اشتباه فرم یا From نامعتبر | From را از دامنه سایت قرار دهید و Reply-To را اصلاح کنید |
| ایمیلها وارد Spam میشوند | اعتبار پایین دامنه یا نبود SPF/DKIM | رکوردهای DNS ایمیل را بررسی و اصلاح کنید |
| فقط ایمیلهای ووکامرس ارسال نمیشوند | تنظیمات ایمیل ووکامرس یا وضعیت سفارش | اعلانهای ایمیلی ووکامرس و گیرندگان را بررسی کنید |
| بعد از انتقال هاست مشکل ایجاد شده | تفاوت تنظیمات سرور یا محدودیت هاست جدید | با پشتیبانی هاست و تنظیمات SMTP هماهنگ کنید |
چکلیست نهایی رفع مشکل ارسال ایمیل وردپرس
- نوع ایمیلی را که ارسال نمیشود مشخص کنید.
- آدرس ایمیل فرستنده را از دامنه سایت انتخاب کنید.
- SMTP را با اطلاعات صحیح سرویس ایمیل تنظیم کنید.
- ایمیل تست ارسال کنید و پوشه Spam را بررسی کنید.
- رکوردهای SPF، DKIM و در صورت نیاز DMARC را بررسی کنید.
- تنظیمات فرم تماس یا ووکامرس را جداگانه بررسی کنید.
- تداخل افزونهها و قالب را تست کنید.
- محدودیتها و لاگهای ارسال ایمیل را از هاست پیگیری کنید.
جمعبندی
برای رفع مشکل ارسال ایمیل وردپرس، بهترین نقطه شروع این است که ارسال ایمیل را از حالت پیشفرض وردپرس به SMTP منتقل کنید. سپس آدرس فرستنده، رکوردهای DNS، تنظیمات فرمها، ووکامرس و محدودیتهای هاست را بررسی کنید. با این مسیر عیبیابی، معمولاً میتوان مشخص کرد مشکل از وردپرس، افزونهها، هاست یا اعتبارسنجی ایمیل دامنه است.
اگر همزمان با این مشکل با خطاهای دیگری مثل ورود به پیشخوان، خطای 404، صفحه سفید یا خطای اتصال به پایگاه داده روبهرو هستید، بهتر است ابتدا خطاهای اصلی سایت را برطرف کنید؛ چون اختلالهای زیرساختی میتوانند روی عملکرد ایمیل وردپرس هم اثر بگذارند.
