چگونگی برطرف کردن مشکل عدم ارسال ایمیل در وردپرس
یکی از معمولترین سوالاتی که کاربران در وردپرس استارت از ما میپرسند این است که چگونه مشکل عدم ارسال ایمیل در وردپرس را رفع کنیم. بسیاری از کاربران مبتدی ما از ما میپرسند چرا پلاگین فرم تماس آنها ایمیلها را ارسال نمیکند، یا چرا آنها هیچ اطلاعیهای در وردپرس مشاهده نمیکنند. ما در این مقاله به شما نشان خواهیم داد که چگونه مشکل عدم ارسال ایمیل در وردپرس را رفع کنید.
چرا از سایت وردپرس خود ایمیل دریافت نمیکنید؟
معمولترین دلیل برای این مشکل این است که سرور میزبان وردپرس شما برای استفاده از PHPتابع mail() پیکربندی نشده است.
حتی اگر آنها به شما اجازه این کارکرد را بدهند، بسیاری از ارائه دهندگان خدمات ایمیل از ابزار متنوعی استفاده میکنند تا اسپم ایمیل را کاهش دهند. این ابزار اغلب سعی دارند شناسایی کنند که یک ایمیل واقعا از همان محلی که ادعای آن را دارد ارسال شده یا خیر، و اغلب ایمیلهای ارسالی توسط وردپرس در این آزمون شکست میخورند.
در چنین مواردی، وقتی یک ایمیل از سوی وردپرس شما ارسال میشود هرگز حتی به پوشه اسپم مقصد هم نمیرسد. به همین دلیل ما استفاده از وردپرس را برای ارسال ایمیل خبررسان توصیه نمیکنیم.
و باز هم به همین دلیل است که توصیه میکنیم در وردپرس از SMTP برای ارسال ایمیل استفاده کنید. SMTP (پروتکول انتقال ساده ایمیل) برای ارسال ایمیل از استاندارد بالایی برخوردار است. برخلاف تابع میل PHP، خدمات SMTP از اعتبار مناسبی استفاده میکند که قابلیت تحویل ایمیل را افزایش میدهد.
سرویس دهندههای SMTP بسیار متنوعی وجود دارد اما ما در این مقاله تنها دو موردی که خودمان توصیه میکنیم را معرفی میکنیم: MailGun و Gmail.
ارسال ایمیل وردپرس با استفاده از Mailgun
Mailgun یک ارائه دهنده محبوب خدمات ایمیل است. آنها به صاحبان وبسایتها اجازه میدهند حجم زیادی از ایمیل را با قابلیت تحویل بالا، ارسال کنند.
آنها به عنوان یک ارائه دهنده اختصاصی خدمات ایمیل، پول و زمان زیادی را صرف اطمینان یافتن از این موضوع میکنند که ایمیل به مقصد خود خواهد رسید.
با اینکه Mailgun یک سرویس فروشی است، 10.000 ایمیل اول در هر ماه را به صورت رایگان ارسال میکند. این رقم برای بسیاری از گروههایی که به تازگی وبسایت یا وبلاگشان را راه انداختهاند بسیار بیشتر از مقداری است که نیاز دارند.
در اینجا به شما نشان میدهیم که چگونه سایت وردپرس خود را برای استفاده از Mailgun به منظور ارسال ایمیل تنظیم کنید.
در ابتدا شما باید در وبسایت Mailgun وارد شوید. بعد از وارد شدن، باید روی دکمه “اضافه کردن دامنه خود” (Add your domain) کلیک کنید.
حال شما یک صفحه برای اضافه کردن دامنه خواهید دید. برای مثال، mail1.yourdomain.com.
شما میتوانید با پیروی از دستورالعمل زیر، یک زیردامنه جدید روی نام دامنه موجود خودتان ایجاد کنید.
مقاله مرتبط: مقایسه زیردامنه، زیرشاخه و ccTLD: کدامیک در سال ۲۰۱۸ بهتر است؟
ابتدا باید از داشبورد سیپنل حساب میزبانی خود بازدید کنید. سپس روی آیکن زیردامنهها در زیر بخش دامنه کلیک کنید.
در صفحه بعدی، شما باید زیردامنه خود را وارد کرده و سپس دامنه روت خود را از منوی کشویی انتخاب کنید.
پس از آن، روی دکمه ایجاد (create) کلیک کنید و پیام ایجاد موفق زیردامنه نمایش داده میشود.
حال شما میتوانید این زیردامنه را روی صفحه دامنه Mailgun اضافه کنید. بعد از اضافه کردن دامنه، Mailgun به شما چند ثبت DNS را نمایش خواهد داد.
به داشبورد سیپنل خود بازگردید و روی “Advanced DNS Zone Editor” کلیک کنید.
از شما خواسته میشود دامنهای را برای تغییر ثبتهای DNS انتخاب کنید. وقتی نام دامنه روت خود را انتخاب کردید، گزینههایی را برای اضافه کردن ثبتهای جدید DNS خواهید دید.
اولین مدخل TXT زیردامنه شما خواهد بود. شما باید در قسمت نام، نام زیردامنه را وارد کنید و به عنوان نوع ثبت، TXT را انتخاب کنید. پس از آن باید در قسمت TTL، عدد 14400 را اضافه کرده و عدد نمایش داده شده روی صفحه تنظیمات تایید دامنه Mailgun را کپی کرده و در قسمت TXT Data وارد کنید.
همین فرایند را برای اضافه کردن ثبت TXT دیگر تکرار کنید.
وقتی این کار انجام شد، به داشبورد سیپنل خود بازگردید و روی آیکن MX Entry کلیک کنید.
از شما خواسته میشود دامنه روت خود را انتخاب کنید، سپس به پایین صفحه بروید. در آنجا شما گزینهای را برای اضافه کردن یک MX Entry جدید خواهید دید.
مقادیر priority و destination را وارد کنید و روی دکمه ایجاد ثبت جدید کلیک کنید.
شما با موفقیت دامنه خود را به Mailgun اضافه کردهاید. باید تایید شود که دامنه شما دارای ثبتهای DNS مناسب هستند. ممکن است کمی طول بکشد زیرا ممکن است آپدیت رکوردهای DNS کمی طول بکشد.
شما میتوانید وضعیت اعتبار دامنه خود را با مشاهده صفحه دامنهها در حساب Mailgun بررسی کنید.
وقتی Mailgun بتواند تغییرات DNS اعمال شده توسط شما را تایید کند، وضعیت فعال را در کنار نام دامنه نمایش میدهد.
وقتی دامنه شما فعال است، میتوانید سایت وردپرستان را تنظیم کنید تا از Mailgun برای ارسال ایمیل استفاده کند.
اولین کاری که باید انجام دهید نصب و فعالسازی پلاگین WP Mail SMTP است. برای اطلاعات بیشتر به راهنمای مرحله به مرحله ما در مورد چگونگی نصب یک پلاگین در وردپرس مراجعه کنید.
بعد از فعالسازی، باید به Settings » WP Mail SMTP بروید تا تنظیمات پلاگین را پیکربندی کنید. ابتدا باید آدرس ایمیل فرستنده و نامی که میخواهید برای فرستنده استفاده کنید را تهیه کنید.
سپس شما باید Mailgun را به عنوان Mailer خود انتخاب کنید و مربع عبارت Set the return-path to match the From Email را تیک بزنید.
در آخر باید کلید API خصوصی و زیردامنه Mailgun خود را وارد کنید. روی لینک پایین هر یک از این قسمتها کلیک کنید تا این اطلاعات را از حساب mailgun خود دریافت کنید.
فراموش نکنید که روی دکمه ذخیره تنظیمات کلیک کنید تا تغییرات شما ذخیره شوند.
همین! شما با موفقیت سایت وردپرستان را برای استفاده از mailgun به منظور ارسال پیام تنظیم کردید.
مقاله مرتبط: اگر ادمین وردپرس(wp-admin) به رویتان قفل شد چه باید کرد؟
حال میتوانید روی تب “Email Test” در صفحه تنظیمات پلاگین کلیک کنید تا یک ایمیل آزمایشی ارسال شود و ببینید که آیا همه چیز به خوبی پیش میرود یا خیر.
ارسال ایمیل وردپرس با استفاده از سرورهای Gmail SMTP
یک جایگزین دیگر برای ارسال ایمیل از وردپرس، استفاده از سرورهای Gmail SMTP است. شما در این روش میتوانید از هر حساب معمولی Gmail برای ارسال ایمیلهایتان استفاده کنید. با این حال، اگر با آدرس ایمیل سفارشی خود از Google Apps for work استفاده کنید، قابلیت تحویل ایمیلها بسیار بهتر خواهد بود.
مهم نیست که شما از آدرس ایمیل رایگان یا فروشی استفاده میکنید، بقیه دستورالعمل در هر دو صورت به یک شکل خواهد بود.
ابتدا باید پلاگین WP Mail SMTP را نصب و فعالسازی کنید. برای به دست آوردن اطلاعات بیشتر میتوانید راهنمای مرحله به مرحله ما در مورد نصب یک پلاگین در وردپرس را مشاهده کنید.
برای فعالسازی به صفحه Settings » WP Mail SMTP بروید تا تنظیمات پلاگین را پیکربندی کنید. ابتدا باید آدرس ایمیل را در بخش “From Email” و نامی که میخواهید به عنوان فرستنده نمایش داده شود را وارد کنید.
سپس باید صفحه را پایین ببرید تا به گزینه Mailer برسید. برای استفاده از سرورهای جیمیل به منظور فرستادن ایمیلهای وردپرس، دو روش وجود دارد.
اولین روش، استفاده از APIهای جیمیل برای ارسال ایمیلها است. ما این روش را توصیه میکنیم زیرا راحتتر و قابل اعتمادتر است. روش دوم استفاده دستی از سرور SMTP حساب جیمیل است.
ما هر دو روش را به شما نشان خواهیم داد، با این حال، توصیه میکنیم از روش اول استفاده کنید.
روش اول: تنظیم ارسال ایمیلهای وردپرس با استفاده از پروتکل oAuth
ابتدا باید در پایین صفحه تنظیمات WP Mail SMTP، جیمیل را به عنوان Mailer انتخاب کنید. مربع کنار set to return path را تیک بزنید تا همانند فرستنده باشد، اگر این مربع را تیک نزنید، این مربع ناپدید شده و پیامهای ناموفق برای همیشه از دست خواهند رفت.
سپس، شما گزینهای را برای وارد کردن Client ID، Client Secret و یک URL در بخش ‘Authorized redirect URL’ خواهید دید.
مقاله مرتبط: چرا امروزه ساختن لیست ایمیل بسیار مهم است؟
ایجاد یک App و کلیدهای API برای جیمیل
به منظور استفاده از APIهای جیمیل برای فرستادن ایمیلها، باید یک App و یک کلید API ایجاد کنید. برای این کار، باید از وبسایت Google Developers Console بازدید کرده و یک پروژه جدید بسازید.
اگر شما دکمه آبی ایجاد پروژه را نمیبینید میتوانید روی منوی “Select a project” کلیک کرده و یک پروژه ایجاد کنید.
از شما خواسته میشود برای پروژه خود یک نام بنویسید. یک نام معنادار انتخاب کنید تا دفعه بعدی که به اینجا آمدید بتوانید به راحتی آن را تشخیص دهید.
روی دکمه create کلیک کنید تا ادامه دهد.
اکنون Developer console پروژه شما را ایجاد کرده و شما را به داشبورد آن میبرد. گوگل به توسعه دهندگان اجازه میدهد به بسیاری از خدمات و APIهای آن دسترسی داشته باشند. حال که پروژه شما راهاندازی شده، باید APIهای لازم را فعال کنید.
روی دکمه Enable APIs and services کلیک کنید تا ادامه بدهید.
به این ترتیب به صفحه کتابخانه APIها منتقل میشوید. در باکس جستجو Gmail را تایپ کنید تا API جیمیل را به سرعت پیدا کرده و آن را انتخاب کنید.
حال شما مروری از API و قابلیتهای آن را خواهید دید. خیلی ساده برای ادامه، روی دکمه “Enable” کلیک کنید.
حال که API شما فعال شده است، قدم بعدی ایجاد اعتباراتی است که میتوانید در تنظیمات پلاگین WP Mail SMTP خود استفاده کنید.
روی دکمه create credentials کلیک کنید تا ادامه بدهید.
در صفحه بعدی، باید در باکسی با مضمون “Where you’ll be calling the API from” گزینهی “Web browser JavaScript” را انتخاب کنید. سپس روی آپشن “User Data” کلیک کنید.
برای ادامه، روی دکمه ‘What credentials do I need?’ کلیک کنید.
حال از شما خواسته میشود یک نام برای کلاینت OAuth خود بنویسید. شما میتوانید در این قسمت عبارت ‘WP Mail SMTP’ را وارد کنید.
زیر قسمت اصلی جاوا اسکریپت، نام دامنه وبسایت خود را اضافه کنید. سپس، باید URL مجاز تغییر مسیر را از تنظیمات پلاگین WP Mail SMTP کپی و پیست کنید.
برای ادامه روی دکمه ‘Create client ID’ کلیک کنید.
سپس، باید یک نام برای OAuth consent screen وارد کنید. میتوانید در اینجا نام پلاگین را وارد کنید.
روی دکمه ادامه کلیک کنید و developer console، شناسه کلاینت شما را نمایش خواهد داد. میتوانید آن را کپی کرده و در صفحه تنظیمات پلاگین WP Mail SMTP پیست کنید. با این حال، هنوز به کلید سری کلاینت نیاز خواهید داشت.
برای ادامه روی دکمه Done کلیک کنید.
حال به صفحه credentials پروژه خود منتقل میشوید. در آنجا credentialهایی که اخیرا ایجاد شده را در یک لیست خواهید دید. روی دکمه edit در کنار اعتبارنامههای خود کلیک کنید.
با این کار به صفحه ویرایش اعتبارها منتقل میشوید در آنجا میتوانید کلید سری کلاینت خود را میبینید. شما باید این کلید را کپی و در صفحه تنظیمات پلاگین پیست کنید.
به صفحه تنظیمات پلاگین در بخش ادمین وردپرس خود بازگردید. حال که شما هم شناسه کلاینت و هم کلیدهای سری خود را دارید، برای ادامه باید روی دکمه ذخیره تنظیمات(Save Settings) کلیک کنید.
این پلاگین اکنون تنظیمات شما را ذخیره کرده و صفحه را مجددا بارگذاری میکند. پس از آن، شما باید به پایین صفحه تنظیمات بروید و بر روی دکمه “Allow plugin to send emails using your Google account” کلیک کنید.
به این ترتیب به حساب خود در گوگل هدایت میشوید و از شما خواسته میشود به وبسایت مجوز بدهید تا از طرف شما ایمیل بفرستد.
پس از آن دوباره به وبسایتتان تغییر مسیر پیدا میکنید و در آنجا یک پیام موفق مشاهده خواهید کرد.
شما توانستید با موفقیت وردپرس خود را برای استفاده از سرورهای Gmail SMTP به منظور ارسال ایمیل از طریق پروتکول OAuth تنظیم کنید. حال میتوانید روی تب “Email Test” در صفحه تنظیمات پلاگین کلیک کنید تا یک ایمیل آزمایشی بفرستد و ببینید آیا همه چیز به خوبی کار میکند یا خیر.
مقاله مرتبط: چگونه از کاربران وردپرس به صورت فایل CSV خروجی بگیریم؟
روش دوم: تنظیم جیمیل برای ارسال ایمیلهای وردپرس با استفاده از SMTP
این روش به WP Mail SMTP اجازه میدهد تا به صورت دستی به سرورهای SMTP جیمیل متصل شود و ایمیلهای وردپرس را ارسال کند.
ابتدا، شما باید به صفحه Settings » WP Mail SMTP بروید تا تنظیمات پلاگین را پیکربندی کنید.
آدرس جیمیل مورد نظر را در قسمت From Email، و نام خود را به در قسمت نام بنویسید.
Other SMTP را به عنوان Mailer خود انتخاب کنید و مربع کنار return path را تیک بزنید.
به پایین صفحه در بخش Other SMTP بروید تا تنظیمات بیشتری را پیکربندی کنید.
تنظیمات پلاگین را به شکل زیر کامل کنید:
- SMTP Host: gmail.com
- SMTP Port: 465
- Encryption: Use SSL encryption
- Authentication: Turn on Authentication
- Username: آدرس کامل جیمیل خود را بنویسید برای مثال smith@gmail.com یا john.smith@your domain.com
- Password: پسورد حساب جیمیل خود را بنویسید
روی دکمه ذخیره تغییرات بزنید تا تنظیمات شما ذخیره شود.
همین! شما با موفقیت توانستید WP Mail SMTP را برای استفاده از سرورهای SMTP جیمیل راهاندازی کنید.
میتوانید روی تب “Email Test” در صفحه تنظیمات پلاگین خود کلیک کنید تا یک ایمیل آزمایشی ارسال شود و از صحت کارکرد آن اطمینان پیدا کنید.
امیدواریم این مقاله به شما آموخته باشد که چگونه مشکل عدم ارسال ایمیل از وردپرس را برطرف کنید، شاید بخواهید از لیست ما درباره خطاهای معمول در وردپرس و شیوه رفع آنها نیز بازدید کنید.