ایمیل در وردپرس

خطای عدم ارسال ایمیل در سایت های وردپرسی

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

اگر شما هم جزء آن دسته از کاربرانی هستید که این مشکل برایتان یک چالش بزرگ شده است، تا انتهای این مطلب همراه دولوپ باشید.

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

خطای عدم ارسال‌ ایمیل از طریق وردپرس چیست؟

به طور کلی سایت‌های وردپرسی به منظور ارسال‌ ایمیل طراحی نشده‌اند؛ به همین دلیل اغلب کاربران سایت‌های وردپرسی با خطای عدم ارسال‌ ایمیل مواجه می‌شوند. این خطا نشان می‌دهد که امکان ارسال‌ ایمیل از سایت شما وجود ندارد.

شایع‌ ترین علت‌ های بروز خطای عدم ارسال‌ ایمیل

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

شایع‌ترین علت خطای عدم ارسال‌ ایمیل در وردپرس، عدم پیکربندی صحیح سرور میزبان سایت است. CMS وردپرس‌ ایمیل‌های شما را با استفاده از سرور میزبان یا هاست و تابع ()wp_mail که بر اساس تابع () mail در PHP است، ارسال می‌کند.

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

شایع‌ ترین علت‌ های بروز خطای عدم ارسال‌ ایمیل
شایع‌ ترین علت‌ های بروز خطای عدم ارسال‌ ایمیل

راهکار‌های برطرف کردن و حل مشکل ارسال نشدن‌ ایمیل‌ ها

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

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

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

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

در ادامه قطعه کدی که به کمک آن این مشکل برطرف می‌شود را برای شما آماده کرده‌ایم.


add_action('phpmailer_init', function($phpmailer) {
    $phpmailer->isSMTP();
    $phpmailer->Host = 'mail.yourMailHost.com';
    $phpmailer->SMTPAuth = true;
    $phpmailer->Port = 587;
    $phpmailer->SMTPSecure = 'tls';
    $phpmailer->Username = 'info@yourDomain.com';
    $phpmailer->Password = 'yourPass';
    $phpmailer->From = 'info@yourDomain.com';
    $phpmailer->FromName = 'سایت فلان';
});

برای استفاده از این قطعه کد، کافیست اطلاعات هاست ایمیلتان را در کد جایگذاری کرده و کد را در فایل فانکشن قالب خود (Function.php) قرار دهید؛ کار تمام است! شما میتوانید به سادگی و بدون استفاده از پلاگین ارسال ایمیل را انجام دهید.

رفع خطای عدم ارسال‌ ایمیل با سرویس SMTP جی میل

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

لازم به ذکر است که اگر ساکن ایران نیستید، می‌توانید از‌ ایمیل‌های حرفه‌ای مثل «Google Apps for Work» استفاده کنید که تاثیر زیادی در کیفیت‌ ایمیل ارسالی دارد. این نکته را در نظر داشته باشید که این نوع از‌ ایمیل‌ها برای کاربران ایرانی غیر فعال است.

در این روش کافیست افزونه «WP Mail SMTP» را نصب کنید. در منو پیشخوان وردپرس، گزینه افزونه‌ها و سپس افزودن را انتخاب کنید. در کادر جستجو «WP Mail SMTP» سرچ کنید و آن را روی سایتتان نصب کنید.

رفع خطای عدم ارسال‌ ایمیل با سرویس SMTP جی میل
رفع خطای عدم ارسال‌ ایمیل با سرویس SMTP جی میل

اکنون باید برای پیکربندی افزونه اقدام کنید؛ به سربرگ «Setting» بروید و در آدرس جی میل خود را در کادر «From Email» وارد کنید. در این بخش یک نام مستعار به عنوان ارسال‌ کننده نمایش داده می‌شود که می‌توانید در کادر «From Name» آن را تغییر دهید.

افزونه WP Mail SMTP
افزونه WP Mail SMTP
زنگوله
لیست خدمات پشتیبانی سایت

مطلب زیر را از دست ندهید:

در گام بعدی برای رفع خطای عدم ارسال‌ ایمیل، به بخش «Mailer» تنظیمات افزونه بروید. شما می‌توانید به دو روش، از سرور جی میل برای ارسال‌ ایمیل در وردپرس استفاده کنید؛

  • در روش اول باید به صورت دستی سرور SMTP را تنظیم کنید.
  • در روش دوم نیز می‌توانید از کد‌های API جی میل استفاده کنید.

رفع خطای عدم ارسال‌ ایمیل در وردپرس با SMTP

در بخش «Mailer»، گزینه «Other SMTP» را انتخاب کرده و «Return Path» را فعال کنید.

بخش Mailer
بخش Mailer
زنگوله
نقش های کاربری در وردپرس

یک مطلب مفید و کاربردی دیگر برایتان داریم!

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

برای پیکربندی تنظیمات مربوط به Other SMTP، به قسمت پایین صفحه بروید. حال در هر یک از کادر‌های زیر اطلاعات لازم را وارد کنید:

  • SMTP Host: عبارت « gmail.com» را وارد کنید.
  • SMTP Port: عدد ۴۶۵ را در این بخش وارد کنید.
  • Encryption: گزینه «SSl» را انتخاب کنید.
  • Authentication: احراز هویت را روی حالت «ON» قرار دهید.
  • SMTP Username: آدرس جی‌میل خود را به صورت کامل در این بخش وارد کنید.
  • Password: رمز جی‌میل خود را وارد کنید.

در نهایت نیز روی گزینه «Save Changes» کلیک کنید تا تغییرات پیکربندی ذخیره شود.

رفع خطای عدم ارسال‌ ایمیل در وردپرس با SMTP
رفع خطای عدم ارسال‌ ایمیل در وردپرس با SMTP

در این مرحله کار شما به پایان رسیده است! اکنون می‌توانید از طریق بخش «Email Test» در افزونه، روند ارسال‌ ایمیل وردپرس را تست کنید و از عملکرد صحیح آن اطمینان حاصل کنید.

تنظیم‌ ایمیل وردپرس با API

در این روش ابتدا به بخش تنظیمات افزونه «WP Mail SMTP» بروید. در بخش «Mailer» افزونه، جی میل خود را به عنوان ارسال‌ کننده‌ ایمیل انتخاب کنید. سپس در قسمت «Return» گزینه «Set the return path to match the From Email» را فعال کنید تا از پیام‌های ناموفق حذف نشود. 

تنظیم‌ ایمیل وردپرس با API
تنظیم‌ ایمیل وردپرس با API

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

نحوه ساخت اپلیکیشن و کد API برای جی میل

برای استفاده از روش کد API برای رفع خطای عدم ارسال‌ ایمیل در وردپرس، ابتدا باید یک اپلیکیشن بسازید. برای این کار به وب سایت «Google Developers Console» بروید و با انتخاب گزینه «Create Project» یا «Select a Project»، یک پروژه جدید ایجاد کنید.

سپس برای پروژه خود یک نام انتخاب کنید و گزینه «Continue» را انتخاب کنید. اکنون شما در سرویس «Developer Console»، یک پروژه دارید. در این زمان شما می‌توانید API‌های مورد نیازتان را فعال کنید.

نحوه ساخت اپلیکیشن و کد API برای جی میل
نحوه ساخت اپلیکیشن و کد API برای جی میل

برای ایجاد API، روی گزینه «Enable APIs and Services» کلیک کنید تا صفحه کتابخانه API برایتان باز شود. 

Enable APIs and Services
Enable APIs and Services

در قسمت بالای صفحه در کادر جستجو، عبارت «Gmail» را تایپ کنید. در پایین صفحه «Gmail API» نشان داده می‌شود؛ آن را انتخاب کنید.

Gmail API
Gmail API

در این مرحله روی گزینه «Enable» کلیک کنید تا به مراحل بعد بروید؛ اکنون API شما فعال است. در این گام از رفع خطای عدم ارسال‌ ایمیل، به افزونه WP Mail SMTP بروید و روی گزینه «Create Credentials» کلیک کنید. 

در کادر «?Where will you be calling the API from»، گزینه «Web Browser – Javascript» و در کادر دیگر، گزینه «User Data» را انتخاب کنید.

در نهایت روی گزینه «?What credentials do I need» کلیک کنید. اکنون از شما نام سرویس «OAuth» خواسته می‌شود، در بخش «Name» نام خود را تایپ کنید.

پس از آن باید در بخش «Authorized JavaScript Origin»، نام دامنه سایتتان را وارد کنید. در بخش بعدی باید آدرس اینترنتی مجاز برای اتصال به افزونه در بخش تنظیمات WP Mail SMTP را کپی کنید و در کارد «Authorized redirect URLs» آن را وارد کنید.

سپس روی گزینه «Create client ID» کلیک کنید و در صفحه موافقت نامه OAuth، نام افزونه را وارد کنید. پس از آن روی گزینه «Continue» کلیک کنید تا یک‌ شناسه کاربری (Client ID) به شما نشان داده شود. این‌ شناسه و کلید امنیتی را در یک فایل TXT نگهداری کنید. در ادامه گزینه «Done» را کلیک کنید.

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

حال به تنظیمات افزونه بروید و‌شناسه کاربری و کلید امنیتی که قبلا آن را کپی کرده بودید را در کادر‌های مشخص شده، وارد کنید. سپس گزینه «Save Settings» را انتخاب کنید تا تغییرات ذخیره شوند.

بعد از بارگذاری مجدد صفحه، به پایین بخش تنظیمات بروید و گزینه «Allow plugin to send emails using your Google account» را انتخاب کنید.

با انتخاب این گزینه به حساب کاربری خود در گوگل هدایت می‌شوید. در این بخش برای موافقت با ارسال‌ایمیل از طریق سایت وردپرسی خود، گزینه «Allow» را کلیک کنید. اکنون به سایت خود هدایت شده و پیام موفقیت‌آمیز بودن مراحل را مشاهده خواهید کرد.

حال به تنظیمات افزونه بروید و‌شناسه کاربری و کلید امنیتی که قبلا آن را کپی کرده بودید را در کادر‌های مشخص شده، وارد کنید. سپس گزینه «Save Settings» را انتخاب کنید تا تغییرات ذخیره شوند.

بعد از بارگذاری مجدد صفحه، به پایین بخش تنظیمات بروید و گزینه «Allow plugin to send emails using your Google account» را انتخاب کنید.

با انتخاب این گزینه به حساب کاربری خود در گوگل هدایت می‌شوید. در این بخش برای موافقت با ارسال‌ایمیل از طریق سایت وردپرسی خود، گزینه «Allow» را کلیک کنید. اکنون به سایت خود هدایت شده و پیام موفقیت‌آمیز بودن مراحل را مشاهده خواهید کرد.

شما می‌توانید به بخش «Email Test» در افزونه بروید و عملکرد صحیح فرایند ارسال‌ایمیل را بررسی کنید.

در پایان

در این مطلب به بررسی خطای عدم ارسال‌ایمیل در وردپرس و راهکار‌های اساسی برطرف کردن آن اشاره کردیم. همانطور که گفتیم امکان ارسال‌ ایمیل در سایت‌های وردپرسی بدون نصب افزونه یا سرور‌ ایمیل اختصاصی غیر ممکن است.

اگر می‌خواهید بدون صرف هزینه اضافی، برای کاربرانتان‌ ایمیل ارسال کنید، می‌توانید از افزونه WP Mail SMTP که به صورت رایگان در مخزن وردپرس قرار دارد، استفاده کنید. شما می‌توانید در صورت نیاز به مشاوره رایگان، با کارشناسان ما تماس بگیرید تا شما را در این زمینه راهنمایی کنند.

سوالات مربوط به خطای عدم ارسال ایمیل در سایت های وردپرسی

آیا محدودیت‌هایی در ارسال ایمیل از طریق هاست وجود دارد؟

بله، بسیاری از هاست‌ها محدودیت‌هایی برای ارسال ایمیل به‌منظور جلوگیری از اسپم دارند.

استفاده از افزونه‌های SMTP، پیکربندی صحیح سرور و پیگیری تنظیمات امنیتی می‌تواند موثر باشد.

5/5 از (1 امتیاز)
یک دیدگاه ثبت شده است
  1. یکی مثل من که سر از تنظیمات در نمیاره خیلی اذیت میشه تازه فهمیدم این خطای عدم ارسال ایمیل از چیاس ولی خب همونطور که می‌دونیم باید یه راه‌حلی باشه که راحت حلش کنم وگرنه همش دنبال دردسر می‌گردم.