مشکل عدم ارسال ایمیل در وردپرس و دو روش کاربردی برای رفع آن


یکی از رایجترین مسائلی که کاربران وردپرس با آن مواجه میشوند، مشکل عدم ارسال ایمیل است. بسیاری از کاربران تازهکار، با مسئله عدم ارسال ایمیل از طریق افزونههای «تماس با ما» و یا عدم مشاهده اعلان ایمیلها در وردپرس خود مواجه هستند. در ادامه، دو روش رفع این مشکل را به شما آموزش خواهیم داد.
دلایل عدم دریافت ایمیلهای وردپرس
اصلیترین دلیل به وجود آمدن چنین مشکلی، تنظیم نبودن پیکربندی سرور میزبانی وردپرس برای استفاده از تابع ()mail در زبان PHP است. با این حال، حتی اگر اجازه عمل کردن این تابع فراهم شود، بسیاری از سرویسدهندگان ایمیل، از ابزارهای متعددی برای کاهش ایمیلهای اسپم استفاده میکنند که میتواند به شناسایی این ایمیلها به عنوان اسپم منجر شود. در اکثر مواقع این ابزارها، موقعیت مکانی ارسال ایمیل را شناسایی میکنند و وبسایتهای وردپرس در همین موضوع مشکل دارند.
در چنین مواردی، هنگامی که ایمیلی از سایت وردپرسی ارسال میشود، حتی به پوشه اسپم در ایمیل مقصد نیز نمیرسد. به همین دلیل، بهتر است که برای ارسال ایمیلهای خبرنامه از وردپرس استفاده نکنید. اما اگر اصرار به ارسال ایمیل از طریق وردپرس دارید، توصیه میکنیم از پروتکل «SMTP» استفاده کنید.
SMTP، استانداردی برای ارسال ایمیل است. در این پروتکل، بر خلاف تابع ()mail در زبان PHP، از روشهای مناسب احراز هویت استفاده میشود؛ از اینرو، ارسال و تحویل ایمیل با استفاده از این روش به نحو بهتری انجام خواهد شد.
سرویسدهندههای SMTP بسیاری وجود دارند اما در این مقاله، از سرویس ایمیل گوگل، یعنی جیمیل استفاده خواهیم کرد. دلیل این انتخاب محبوبیت، فراگیری و دسترسی آسان کاربران ایرانی به این سرویس است.
ارسال ایمیل در وردپرس با استفاده از سرورهای SMTP جیمیل
یکی از روشهای جایگزین برای ارسال ایمیل در وردپرس، استفاده از سرورهای SMTP جیمیل است. شما میتوانید در این شیوه حتی از یک حساب جیمیل معمولی به منظور ارسال ایمیلهای وبسایت خود استفاده کنید. باید توجه داشت که استفاده از یک حساب جیمیل معمولی، در کیفیت ارسال و تحویل ایمیلها تأثیرگذار خواهد بود اما به دلیل وجود محدودیتهای کاربران ایرانی در استفاده از گزینههای پولی، این روش انتخاب مناسبی است. در صورتی که محدودیتی برایتان وجود ندارد، استفاده از ایمیلهای حرفهای «Google Apps for Work» را به شما پیشنهاد میکنیم.
در ابتدا، شما نیاز به نصب و فعالسازی افزونه «WP Mail SMTP» دارید. بعد از فعالسازی این افزونه، به بخش «Settings» محیط مدیریت وردپرس بروید و گزینه «WP Mail SMTP» را انتخاب کنید. حال در صفحه پیکربندی این افزونه، به سربرگ «Setting» رفته و آدرس جیمیل خود را در کادر «From Email» وارد کنید و نامی که دوست دارید به عنوان ارسالکننده نمایش داده شود را در کادر «From Name» بنویسید.
مرحله بعد، تنظیم گزینههای ارسال ایمیل در بخش «Mailer» تنظیمات افزونه است. به طور کلی، دو روش برای به کارگیری سرورهای جیمیل به منظور ارسال ایمیلهای وردپرس وجود دارد. روش اول، استفاده از تنظیمات دستی سرور SMTP جیمیل و روش دوم، استفاده از کدهای API جیمیل است. از بین این دو گزینه، روش دوم امنیت و قابلیت اطمینان بالاتری دارد اما به دلیل محدودیتهای موجود برای برخی از کشورها، دسترسی به روش اول آسانتر است. در ادامه، مراحل اجرای هر دو روش را برای شما توضیح میدهیم.
توجه: اگر از نظر دسترسی به «Google Developers Console» محدودیتی ندارید، روش دوم به شما پیشنهاد میشود؛ در غیر این صورت، روش اول گزینه مناسبتری خواهد بود.
روش اول: تنظیم کردن جیمیل برای ارسال ایمیلهای وردپرس با استفاده از SMTP
این روش، امکان اتصال دستی WP Mail SMTP به سرورهای SMTP جیمیل را فراهم میکند تا ارسال ایمیلهای وردپرس میسر شود.
در ابتدا، شما باید برای پیکربندی افزونه خود، به صفحه تنظیمات WP Mail SMTP بروید. آدرس جیمیلتان را در کادر «From Email» و نامی که دوست دارید به عنوان ارسالکننده نمایش داده شود را در کادر «From Name» وارد کنید.
در بخش «Mailer»، گزینه «Other SMTP» را انتخاب و تیک گزینه موجود در بخش «Return Path» را فعال کنید. برای پیکربندی تنظیمات مربوط به Other SMTP، به قسمت پایین صفحه بروید.
حال در هر یک از کادرهای موجود به ترتیبی که در زیر ذکر شده اطلاعات لازم را وارد کنید:
- SMTP Host: عبارت «smtp.gmail.com» را وارد کنید.
- SMTP Port: عدد 465 را وارد کنید.
- Encryption: گزینه «SSl» را انتخاب کنید.
- Authentication: احراز هویت را بر روی حالت «ON» بگذارید.
- SMTP Username: آدرس جیمیل خود را به صورت کامل وارد کنید.
- Password: رمز حساب کاربری جیمیل خود را وارد کنید.
بر روی گزینه «Save Changes» کلیک کنید تا تغییرات ذخیره شوند.
به همین سادگی! شما موفق به تنظیم افزونه WP Mail SMTP برای استفاده از سرورهای SMTP جیمیل شدید. اکنون میتوانید به بخش «Email Test» در صفحه افزونه WP Mail SMTP بروید و از عملکرد صحیح فرآیند ارسال ایمیل مطمئن شوید.
روش دوم: تنظیم کردن جیمیل برای ارسال ایمیلهای وردپرس با استفاده از پروتکل OAuth
در ابتدا، به بخش «Settings» در صفحه افزونه «WP Mail SMTP» بروید. سپس در بخش «Mailer» جیمیل را به عنوان ارسالکننده ایمیل انتخاب کنید. در قسمت «Return»، تیک گزینه «Set the return path to match the From Email» را بزنید تا از حذف شدن پیامهای ناموفق جلوگیری شود.
در ادامه، کادرهایی برای وارد کردن «شناسه کاربر» (Client ID)، «کلید امنیتی کاربر» (Client Secret) و «آدرس اینترنتی» (Authorized redirect URI) را مشاهده خواهید کرد، اما پیش از پر کردن این بخشها، باید یک اپلیکیشن و یک کد API ایجاد کنید. مراحل این کار در ادامه توضیح داده میشوند.
ساخت یک اپلیکیشن و ایجاد کدهای API برای جیمیل
برای استفاده از کدهای API جیمیل به منظور ارسال ایمیلهای وردپرس، باید یک اپلیکیشن بسازید و سپس یک کد API ایجاد کنید. به این منظور، به وبسایت «Google Developers Console» بروید و یک پروژه جدید ایجاد کنید.
اگر یک گزینه آبی با عنوان «Create Project» برای ایجاد پروژه نبود، میتوانید بر روی «Select a Project» کلیک کنید. در ادامه، از شما خواسته میشود که یک نام پروژه برای پروژه خود فراهم کنید. در انتخاب نامها، به گونهای عمل کنید که در مراجعات بعدی، هر پروژه به سادگی قابل تشخیص باشد.
بر روی گزینه «Continue» کلیک کنید. اکنون سرویس «Developer Console»، یک پروژه برای شما ایجاد میکند. گوگل برای توسعهدهندگان، امکان دسترسی به خدمات و API های زیادی را فراهم کرده است. حال که پروژه شما ایجاد شده است، باید API های مورد نیاز خود را فعال کنید.
به این منظور، بر روی گزینه «Enable APIs and Services» کلیک کنید. با این کار، یک صفحه کتابخانه API برای شما باز خواهد شد. در قسمت بالای صفحه و درون کادر جستجو، نام «Gmail» را تایپ کنید. در قسمت پایین صفحه، «Gmail API» برای شما ظاهر خواهد شد. آن را انتخاب کنید.
در این مرحله، خلاصهای از عملکرد 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» تایپ کنید. نام «WP Mail SMTP» گزینه مناسبی است.
در زیر بخش «Authorized JavaScript Origin»، نام دامنه وبسایت خود را اضافه کنید. در قسمت بعدی، باید آدرس اینترنتی مجاز برای اتصال به افزونه را از تنظیمات WP Mail SMTP کپی و آن را در کادر زیر بخش «Authorized redirect URLs» وارد کنید.
بر روی گزینه «Create client ID» کلیک کنید. در مرحله بعد، یک نام در صفحه موافقتنامه OAuth از شما خواسته میشود. میتوانید نام افزونه را در اینجا نیز وارد کنید.
بعد از کلیک بر روی «Continue»، یک «شناسه کاربری» (Client ID) به شما نمایش داده میشود. این شناسه در تنظیمات افزونه WP Mail SMTP استفاده خواهد شد. اگرچه، کلید امنیتی کاربر «Client Secret» را نیز نیاز خواهید داشت.
برای ادامه، بر روی گزینه «Done» کلیک کنید.
اکنون، به صفحه اطلاعات احراز هویت پروژه انتقال داده میشوید. در این قسمت، فهرستی از پروژههای شما به نمایش درآمده است. بر روی گزینه ویرایش (معمولاً تصویر یک قلم) در کنار پروژه خود کلیک کنید.
با این کار، به صفحه ویرایش اطلاعات احراز هویت هدایت میشوید و قادر خواهید بود، کلید امنیتی خود را ببینید. باید این کلید را در صفحه تنظیمات افزونه وارد کنید.
به صفحه تنظیمات افزونه در محیط مدیریت وردپرس وارد شوید. حال که هم شناسه کاربری و هم کلید امنیتی کاربری را دارید، باید هر کدام از آنها را در کادر مختص به خود وارد کنید. در انتها، گزینه «Save Settings» را انتخاب کنید تا تغییرات ذخیره شوند.
پس از این کار، افزونه تغییرات شما را ذخیره کرده و صفحه را بارگذاری مجدد میکند. بعد از بارگذاری مجدد صفحه، به قسمت پایین تنظیمات بروید و گزینه «Allow plugin to send emails using your Google account» را انتخاب کنید.
با این کار، به حساب کاربری خود در گوگل هدایت میشوید و از شما خواسته میشود که با ارسال ایمیل از طریق وبسایت خود موافقت کنید. برای موافقت، بر روی گزینه «Allow» کلیک کنید.
در ادامه، شما به سایت خود بازگردانده میشوید و پیامی مبنی بر موفقیت عملیات مشاهده میکنید.
با انجام تمام این مراحل، شما موفق شدید که وردپرس خود را برای استفاده از سرورهای SMTP جیمیل تنظیم و امکان ارسال ایمیل با استفاده از پروتکل OAuth را فراهم کنید. اکنون میتوانید به بخش «Email Test» در صفحه افزونه WP Mail SMTP بروید و از عملکرد صحیح فرآیند ارسال ایمیل خود مطمئن شوید.
امیدواریم این مقاله، در رفع مشکل ارسال ایمیلهای وردپرس به شما کمک کرده باشد. در صورتی که به یادگیری وردپرس و سیستمهای مدیریت محتوا علاقه دارید، مطالب زیر را به شما پیشنهاد میکنیم:
- مجموعه آموزش های راه اندازی سایت و کار با وردپرس
- پلاگینهای وردپرس را به زبان فارسی ترجمه کنید — راهنمای قدم به قدم
- بهترین وبسایتهای وردپرسی که باید ببینید
^^
سلام و عرض ادب
کد تایید به ایمیل کاربر نمیاد هنگام ثبت نام همه افزونه ها رو هم امتحان کردم ارور میدن
هم از جیمیل استفاده کردم و هم از خود ایمیل هاست که ساخته بودم باید چکار کنم؟به هیچ روشی کد نمیاد
احتمال داره بخاطر افزونه وردفرنس باشه؟ چون ایمیل میاد که همچنین کاربری با این مشخصات تلاش برای ورود داشته