دلایل عدم ارسال ایمیل در وردپرس و نحوه رفع مشکل
مقاله

نحوه رفع مشکل عدم ارسال ایمیل در وردپرس

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

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

راهکارهای رفع مشکل عدم ارسال ایمیل در وردپرس

تصویر(1)

در این مقاله، نحوه رفع مشکل عدم ارسال ایمیل در وردپرس و همچنین دلیل ایجاد این مشکل در وردپرس، توضیح داده خواهد شد.

دلیل عدم ارسال ایمیل در وردپرس چیست؟

دو دلیل اصلی وجود دارد که ممکن است ارسال ایمیل در سایت وردپرسی شما با مشکل مواجه شود. شایع ترین دلایل عبارتند از:

  1. پیکربندی نادرست سرور برای ارسال ایمیل یا اسپم شدن ایمیل های ارسالی
  2. ایمیل های شما در ظاهر ارسال می شوند اما دیده نخواهند شد.

صرف نظر از دلیل عدم ارسال ایمیل در وردپرس، برخی از راه حل ها به رفع مشکلات دیگر نیز کمک می کنند. به عنوان مثال، اجرای یک روش قابل اعتمادتر برای ارسال ایمیل در سایت وردپرسی، معمولاً باعث می شود ایمیل های کمتری اسپم شوند. بدین ترتیب، رفع مشکلات اساسی ارسال ایمیل می تواند به طور همزمان مشکلات اسپم را نیز برطرف کند.

با این حال، قبل از اینکه مراحل عیب یابی توضیح داده شود، دو دلیل ذکر شده، با جزئیات بیشتری بررسی می گردند.

1. سروری که سایت وردپرسی شما را میزبانی می کند، برای ارسال ایمیل به درستی پیکربندی نشده است

به‌طور پیش‌فرض، وردپرس سعی می‌کند ایمیل‌های سایت شما را با استفاده از سرور میزبان و تابع ()wp_mail، که بر اساس تابع () mail در PHP است، ارسال کند. دلیل آن نیز کانفیگ مرسوم سرورها در سراسر جهان می باشد. در این بین چند مسئله به وجود می آید که در ادامه ذکر شده اند:

  1. برخی از میزبان های وب به طور کامل استفاده از تابع ()mail را ممنوع می کنند. دلیل آن نیز ایجاد مشکل برای سرویس ایمیل کل سرور و سوء استفاده از آن برای ارسال ایمیل های اسپم می باشد. اگر میزبان وب شما استفاده از این تابع را ممنوع کند، ایمیل‌های سایت وردپرسی شما با پیکربندی پیش‌فرض ارسال نمی‌شوند.
  2. حتی اگر یک میزبان اجازه ارسال ایمیل با PHP را بدهد، با توجه به اینکه سرور سایت شما برای میزبانی وب‌سایت‌ها بهینه‌سازی شده است و نه برای ارسال ایمیل، این موضوع می‌تواند به خودی خود باعث ایجاد مشکلاتی شود. به طوری که ایمیل های شما اصلاً ارسال نشوند یا در پوشه اسپم کاربران قرار گیرند. راه حل مشکل این است که سایت وردپرسی خود را به گونه ای پیکربندی نمایید تا به جای استفاده از سرور میزبان وب سایت، یک سرویس ارسال ایمیل اختصاصی داشته باشد.

اگر با عدم ارسال ایمیل در وردپرس خود مشکل دارید، ممکن است تصور کنید که استفاده از یک سرویس ارسال ایمیل اختصاصی، باعث افزایش هزینه ها شود اما اینطور نیست و در نهایت هزینه های پرداخت شده جبران می شوند. این سرورها دارای کانفیگ خاصی هستند که به طور ویژه برای ارسال ایمیل و جلوگیری از قرار گرفتن در پوشه اسپم، بهینه شده اند.

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

2. ایمیل های ارسالی از سایت وردپرسی، در پوشه اسپم قرار می گیرند

گاهی اوقات، سایت شما به صورت مستقیم مقصر عدم ارسال ایمیل در وردپرس نیست. سایت با موفقیت ایمیل ها را ارسال می کند اما آنها در مقصد به پوشه اسپم منتقل می شوند. در بخش قبل، یکی از دلایل اصلی وقوع این مشکل یعنی استفاده از روش پیش فرض ()wp_mail یا ()PHP mail برای ارسال ایمیل، توضیح داده شد. حتی اگر میزبان شما اجازه دهد تا وردپرس ایمیل ها را با استفاده از ()PHP mail ارسال کند، این ایمیل ها فاقد احراز هویت مناسب خواهند بود. به این معنی که احتمالا توسط ابزارهای ضد اسپم دریافت کنندگان ایمیل، بلاک می شوند. در این حالت ایمیل های شما در پوشه اسپم مشتریان قرار می گیرند و به احتمال بسیار زیاد هرگز آن ایمیل را نخواهند دید. نیازی نیست توضیح داده شود که اسپم شدن ایمیل یک مشکل بزرگ است. برای مبارزه با این مشکل، دریافت کنندگان ایمیل از آنتی اسپم های قوی برای شناسایی ایمیل های اسپم استفاده می کنند. یکی از روش های آنتی اسپم، استفاده از قوانینی مانند SPF و DKIM می باشد که باعث می گردد احراز هویت به درستی صورت گرفته و از اسپم شدن ایمیل ها جلوگیری شود.

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

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

چگونه سایت وردپرسی خود را برای ارسال ایمیل های معتبر پیکربندی کنید؟

جهت پیکربندی سایت وردپرسی خود برای ارسال ایمیل از طریق یک سرویس اختصاصی، به دو ابزار نیاز دارید:

  • یک افزونه SMTP وردپرس: افزونه های SMTP رایگان برای اکثر سایت ها مناسب خواهند بود.
  • یک سرویس ارسال ایمیل: برای اکثر سایت های وردپرسی با حجم پایین ارسال ایمیل، سرویس های رایگان موجود هستند. بسیاری از سرویس های رایگان، امکان ارسال 100 تا 500 ایمیل در روز را فراهم می کنند.

1. یک افزونه SMTP را انتخاب و نصب کنید

ابتدا باید در سایت وردپرسی خود، یک افزونه SMTP را انتخاب و نصب کنید. افزونه SMTP سرویس ارسال ایمیل اختصاصی را جایگزین ()wp_mail وردپرس می کند. نکته خوب در مورد این نوع افزونه ها، سازگاری با ابزارهایی است که از wp_mail استفاده می کنند.

افزونه های ذکر شده و موارد مشابه، نه تنها ایمیل های اصلی مانند بازنشانی رمز عبور را پوشش می دهند، بلکه بیشتر افزونه های SMTP با افزونه های فرم تماس، افزونه های رویداد، ووکامرس و تقریباً هر افزونه ای که از سمت وردپرس ایمیل ارسال می کند، سازگاری کامل دارند. می توانید با مراجعه به سایت WordPress.org و از بخش افزونه ها به گزینه های رایگان بیشتری دسترسی داشته باشید. در لیست زیر برخی از افزونه های محبوب معرفی شده اند:

  • WP Mail SMTP
  • Post SMTP
  • FluentSMTP
  • Easy WP SMTP
  • WP SMTP

افزونه WP Mail SMTP مشکل عدم ارسال ایمیل در وردپرس را رفع خواهد کرد

تصویر(2)

برای رفع مشکل عدم ارسال ایمیل در وردپرس و مشاهده آموزش ارسال ایمیل با افزونه WP Mail SMTP، می توانید به لینک زیر مراجعه کنید:

آموزش تنظیم افزونه ارسال ایمیل WP-Mail-SMTP

2. انتخاب سرویس ارسال ایمیل جهت رفع مشکل عدم ارسال ایمیل در وردپرس

در مرحله بعد، باید سرویس ارسال ایمیلی را که می خواهید برای ارسال ایمیل های سایت خود استفاده کنید، انتخاب نمایید. بسیاری از سرویس‌های ارسال ایمیل، پلن های رایگان محدودی را ارائه می‌کنند که به شما امکان می‌دهد تعداد مشخصی ایمیل در روز یا هر ماه ارسال کنید. همچنین در نسخه های پولی می توانید  به مراتب ارسال های بیشتری داشته باشید. این ویژگی می تواند به شما کمک کند تا در هزینه های خود صرفه جویی نمانید.

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

  • HubSpot Transactional API: اگر در حال حاضر از HubSpot برای بازاریابی ایمیلی استفاده می‌کنید، می‌توانید افزونه‌ای را برای دسترسی به transactional API (ایمیل هایی که به دنبال اقدام خاصی ارسال می شوند) خریداری و از آن برای ارسال ایمیل‌های سایت وردپرسی خود استفاده نمایید.
  • SendGrid: یک سرویس ارسال ایمیل اختصاصی که به شما امکان می دهد روزانه تا 100 ایمیل را به صورت رایگان ارسال کنید. برای ارسال بیشتر، می‌توانید حساب کاربری خود را به پلن های پولی ارتقا دهید.
  • سرویس ایمیل ساده آمازون (SES): این سرویس ارسال ایمیل پولی، یکی از ارزان ترین سرویس های ارسال ایمیل است. هزینه هر 1000 ایمیل، فقط 0.10 دلار بوده و این نرخ برای هر بودجه ای مناسب می باشد.
  • Mailgun: این سرویس SMTP، یک دوره یک ماهه آزمایشی رایگان ارائه می دهد و سپس به ازای هر 1000 ایمیل 1 دلار هزینه دارد.
  • Sendinblue: این سرویس بازاریابی ایمیلی، به شما امکان می دهد از محدودیت های ارسال خود برای ایمیل های تراکنشی (transactional) نیز استفاده کنید. پلن رایگان آن به شما امکان می دهد تا 300 ایمیل در روز ارسال نمایید.
  • Gmail API: اگر یک حساب Gmail رایگان دارید، می توانید از آن برای ارسال ایمیل های سایت وردپرسی خود استفاده کنید. این سرویس، به شما امکان می دهد روزانه 500 ایمیل ارسال نمایید. با این حال، فرآیند راه اندازی آن کمی پیچیده تر از سرویس های ارسال سنتی است.

3. پلاگین SMTP خود را برای استفاده از سرویس ارسال ایمیل موردنظر پیکربندی کنید

پس از ثبت نام در سرویس SMTP مورد نظر خود، آخرین مرحله، پیکربندی افزونه SMTP برای اتصال به سرویس موردنظر است. پس از انجام این کار، سایت وردپرسی شما به جای تابع ()wp_mail، ایمیل ها را از طریق سرویس انتخابی ارسال می کند که بسیار کارآمدتر خواهد بود. نحوه تنظیم این پیکربندی به سرویس ارسال انتخابی شما و افزونه ای که استفاده می کنید بستگی خواهد داشت. دو رویکرد کلی وجود دارد:

  • اطلاعات ورود SMTP: می توانید اطلاعات ورود SMTP را به طور مستقیم وارد کنید، که در مورد هر سرویس ارسال ایمیلی که از SMTP استفاده می کند صادق است. 
  • API integration: همچنین می توانید از API integration مستقیم استفاده کنید که یک روش سفارشی منحصر به فرد برای هر سرویس دهنده می باشد.

به عنوان مثال، نسخه رایگان افزونه WP Mail SMTP از اتصالات SMTP عمومی و همچنین API integration مستقیم سرویس دهندگان زیر پشتیبانی می کند:

  • SendLayer
  • SMTP.com
  • Sendinblue
  • Google/Gmail API
  • Mailgun
  • Postmark
  • SendGrid
  • SparkPost

به طور کلی توصیه می شود در صورت وجود، از API integration مستقیم استفاده کنید زیرا معمولاً قابلیت اطمینان بیشتری را ارائه می دهد. با این حال، اگر گزینه دیگری در دسترس نبود، استفاده از SMTP عمومی نیز مطلوب خواهد بود.

برای شروع استفاده از SendGrid در WP Mail SMTP، باید:

  • دامنه خود را در SendGrid احراز هویت نمایید
  • به کلید SendGrid API خود دسترسی پیدا کنید
  • کلید SendGrid API را به تنظیمات افزونه WP Mail SMTP اضافه کنید.

تنظیمات افزونه WP Mail SMTP جهت رفع مشکل عدم ارسال ایمیل در وردپرس

تصویر(3)

چگونه باید مطمئن شوید که ایمیل های فرم تماس شما به پوشه اسپم نمی روند؟

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

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

رفع مشکل عدم ارسال ایمیل در وردپرس با افزونه Contact Form 7

اگر در ارسال ایمیل با Contact Form 7 مشکل دارید، مطمئن شوید که آدرس "From" که در تنظیمات Contact Form 7 اضافه کرده اید با آدرس ایمیلی که در سرویس ارسال ایمیل خود پیکربندی نموده اید، مطابقت دارد. همچنین باید مطمئن شوید که آدرس های ایمیل "From" و "To" یکسان نباشند زیرا این کار می تواند منجر به اسپم شدن ایمیل ها در جی میل و ایجاد مشکل برای ارسال ایمیل شود.

مراحل بررسی به صورت زیر است:

  1. به مسیر «فرم تماس > فرم‌های تماس» (شماره 1) مراجعه و فرمی را که با آن مشکل دارید انتخاب کنید.
  2. روی تب "ایمیل" کلیک نمایید. (شماره 2)
  3. مطمئن شوید که آدرس "از طرف" مربوط به نام دامنه سایت شما باشد. در واقع باید نام دامنه ای باشد که با سرویس ارسال ایمیل خود احراز هویت کرده اید. 
  4. مطمئن شوید که آدرس "به" با آدرس "از طرف" یکی نباشد. (شماره 3)
  5. تغییرات خود را ذخیره کنید.

عدم ارسال ایمیل در وردپرس و افزونه Contact Form 7

تصویر(4)

رفع مشکل عدم ارسال ایمیل در وردپرس با افزونه WPForms

مانند Contact Form 7، برای افزونه WPForms نیز می بایست مطابقت استفاده از نام دامنه سایت برای فیلد "از طرف" بررسی شود. همچنین مطمئن شوید که آدرس "به" با آدرس "از طرف" یکی نباشد.

مراحل بررسی به صورت زیر است:

1. به مسیر "WPForms > همه فرم ها" مراجعه و روی فرمی را که در آن مشکل دارید کلیک نمایید.

2. در رابط فرم ساز به تب "تنظیمات" (شماره 1) مراجعه کنید.

3. روی گزینه "اعلان ها" (شماره 2) کلیک نمایید.

4. مطمئن شوید که آدرس "از" مربوط به نام دامنه سایت شما باشد. در واقع باید نام دامنه ای باشد که با سرویس ارسال ایمیل خود احراز هویت کرده اید. 

5. مطمئن شوید که آدرس "ارسال به آدرس ایمیل" با آدرس "از ایمیل" یکی نباشد. (شماره 3)

6. تغییرات خود را ذخیره کنید.

رفع مشکل عدم ارسال ایمیل در وردپرس با افزونه WPForms

تصویر(5)

رفع مشکل سایر افزونه‌های فرم ساز وردپرس که ایمیل‌های اعلان را ارسال نمی‌کنند

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

  1. در فیلد "از" باید از نام دامنه سایت استفاده کرد. در واقع همان نام دامنه ای خواهد بود که با سرویس ارسال ایمیل خود احراز هویت کرده اید.
  2. آدرس ایمیل "به" نباید با آدرس "از" یکسان باشد زیرا ممکن است باعث ایجاد خطا در Gmail و سایر سرویس گیرندگان ایمیل شود. اگر این مراحل را دنبال کنید، باید مشکل کاملا رفع گردد.

چگونه ایمیل های وردپرس را آزمایش کنید؟

پس از اجرای راهکارهای بالا، برای بررسی صحت ارسال ایمیل در سایت وردپرسی خود، می بایست یک آزمایش انجام دهید. پیشنهاد می شود این آزمایش را انجام دهید تا مطمئن شوید که همه چیز به درستی تنظیم شده است.

اگر از افزونه WP Mail SMTP طبق آموزش بالا استفاده کردید، این افزونه دارای یک ویژگی داخلی است که به شما امکان می دهد یک ایمیل آزمایشی به آدرس دلخواه ارسال کنید. اکثر افزونه های SMTP دیگر نیز ویژگی های مشابهی را ارائه می دهند.

  1. برای دسترسی به آن، وارد مسیر "ایمیل > Tools (شماره 1) > آزمایش ایمیل (شماره 2)" شوید.
  2. در فیلد مشخص شده یک ایمیل وارد کرده (شماره3) و سپس روی "ارسال ایمیل" (شماره4) کلیک نمایید.

آزمایش افزونه در صورت عدم ارسال ایمیل در وردپرس

تصویر(6)

اگر می‌خواهید تجزیه و تحلیل اسپم عمیق تری انجام دهید، می‌توانید یک ایمیل آزمایشی به ابزاری مانند Mail Tester ارسال کنید، تا وضعیت سرویس ایمیل شما و اعتبار آن بررسی شود. این بررسی می‌تواند جهت تشخیص مشکلات مربوط به عدم ارسال ایمیل در وردپرس و پیکربندی نادرست DKIM، مفید باشد.

نتیجه گیری

اگر مراحل بالا را به درستی انجام دهید، باید بتوانید مشکل عدم ارسال ایمیل در وردپرس را برای همیشه برطرف کنید. نکته خوب در مورد روش بالا این است که باید مشکل همه ایمیل‌هایی که سایت شما ارسال می‌کند، اعم از ایمیل‌های بازنشانی گذرواژه، ایمیل‌های افزونه فرم تماس، ایمیل‌های ووکامرس و موارد دیگر را برطرف نماید.

اشتراک گذاری:

نظرات

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *