مشکل ارسال ایمیل در وردپرس باعث میشود، ارسالهای فرم تماس گم میشوند و اعلانهای مهم هیچ وقت به دست شما نمیرسند. این مشکل تنها مختص شما نیست و به خود وردپرس ربطی ندارد. مشکل اصلی به نحوه ارسال ایمیل در سایتها برمیگردد.
در این راهنما، ما دلیل اصلی اینکه چرا ایمیلهای وردپرس به درستی ارسال نمیشوند را توضیح میدهیم و به شما نشان میدهیم که چگونه با استفاده از SMTP (استاندارد جهانی برای ارسال ایمیلهای مطمئن)، این مشکل را حل کنید.
دلیل مشکل ارسال ایمیل در وردپرس چیست؟
رایجترین دلیل مشکل ارسال ایمیل در وردپرس، عدم تنظیم سرور هاست شما برای استفاده از تابع mail() در PHP است. حتی اگر هاستینگ شما تنظیم شده باشد، بسیاری از ارائهدهندگان سرویس ایمیل مانند جیمیل از ابزارهای مختلفی برای مقابله با اسپم استفاده میکنند. این ابزارها تلاش میکنند تشخیص دهند که آیا ایمیل واقعا از منبعی که گفته شده ارسال شده یا خیر.
ایمیلهای ارسالشده از سایتهای وردپرس اغلب این آزمایشها را پشت سر نمیگذارند. این یعنی ممکن است ایمیلها حتی به پوشه اسپم هم نروند و اصلا به اینباکس گیرنده نرسند. به همین دلیل است که توصیه میکنیم از وردپرس برای ارسال خبرنامههای ایمیلی استفاده نکنید. همچنین، به همه پیشنهاد میکنیم برای ارسال ایمیلها از SMTP استفاده کنند.
SMTP چیست؟
SMTP (پروتکل انتقال ساده ایمیل) استاندارد جهانی برای ارسال ایمیل است. برخلاف تابع mail()، در PHP، SMTP از احراز هویت صحیح استفاده میکند که باعث میشود ایمیلها با احتمال بسیار بالاتری به مقصد برسند.
وردپرس یک پلاگین به نام WP Mail SMTP دارد که به شما این امکان را میدهد تا سایت خود را برای ارسال ایمیلها با استفاده از SMTP پیکربندی کنید. با این کار، میتوانید به راحتی از سرویسهای محبوب SMTP مانند SendLayer، Brevo (قبلا Sendinblue)، جیمیل (Google Workspace)، آمازون SES و بسیاری دیگر استفاده کنید.
حل مشکل ارسال ایمیل در وردپرس با استفاده از SMTP
در ادامه، به شما خواهیم گفت که چطور مشکل ارسال ایمیل در وردپرس رو با استفاده از SMTP حل کنید:
● مرحله 1: نصب پلاگین WP Mail SMTP
● مرحله 2: راهاندازی سرویس ارسال ایمیل SMTP
● مرحله 3: اتصال سایت وردپرس به SendLayer
● مرحله 4: تکمیل تنظیمات WP Mail SMTP برای استفاده از SendLayer
مرحله 1: نصب پلاگین WP Mail SMTP
برای هر سرویس SMTP که انتخاب میکنید، ابتدا باید پلاگین WP Mail SMTP را روی سایت خود نصب کنید. این پلاگین به شما این امکان را میدهد که وردپرس را از استفاده از تابع پیشفرض PHP mail() به استفاده از سرویس SMTP خود تغییر دهید.
ابتدا پلاگین WP Mail SMTP را نصب و فعال کنید. اگر نمیدانید چگونه این کار را انجام دهید، میتوانید راهنمای گام به گام ما در مورد نصب پلاگین وردپرس را مشاهده کنید.
پس از فعالسازی، وارد داشبورد وردپرس خود شوید و روی گزینه «WP Mail SMTP» کلیک کنید تا تنظیمات پلاگین را پیکربندی کنید.
در ابتدا، باید نام و آدرس ایمیلی که میخواهید ایمیلهای سایت شما از آن ارسال شوند را وارد کنید. توجه داشته باشید که باید همان آدرس ایمیلی را وارد کنید که برای سرویس SMTP خود انتخاب کردهاید.
میتوانید انتخاب کنید که ایمیلها بهطور اجباری از این نام و آدرس ایمیل ارسال شوند، حتی اگر پلاگینهای دیگر مانند WPForms تنظیمات مختلفی داشته باشند. پلاگین WP Mail SMTP تنظیمات دیگر پلاگینها را نادیده خواهد گرفت و تنظیمات خود را اعمال میکند.
بعد از این مرحله، باید یک سرویس ارسال ایمیل SMTP برای سایت خود انتخاب کنید. در این آموزش، ما قصد داریم از SendLayer برای تنظیم SMTP استفاده کنیم.
برای تکمیل تنظیمات WP Mail SMTP، باید یک حساب کاربری در SendLayer بسازید. بعد از ساخت حساب کاربری، به تنظیمات در WP Mail SMTP باز خواهیم گشت تا کار را تمام کنیم، بنابراین مطمئن شوید که این تب را باز نگه دارید.
مرحله 2: راهاندازی سرویس ارسال ایمیل SMTP
SendLayer یک سرویس ارسال ایمیل قابل اعتماد است که به شما امکان میدهد تعداد زیادی ایمیل را با قابلیت تحویل بالا ارسال کنید. شما میتوانید از SendLayer برای ارسال تا 200 ایمیل به صورت رایگان استفاده کنید که برای بسیاری از سایتهای کوچک کافی است. این ایمیلها میتوانند شامل ایمیلهای فرم تماس، اطلاعات حساب کاربری جدید، ایمیلهای بازیابی رمز عبور یا هر ایمیل دیگری که از طریق سایت وردپرس شما ارسال میشود، باشند.
ابتدا باید به وبسایت SendLayer بروید و یک حساب کاربری بسازید. در صفحه قیمتگذاری، روی لینک «Try our SendLayer free trial (send up to 200 emails» کلیک کنید تا حساب کاربری خود را راهاندازی کنید.
پس از ایجاد حساب کاربری، داشبورد SendLayer شما نمایش داده میشود. حالا که حساب کاربری SendLayer را دارید، وقت آن است که سرویس ایمیل خود را با وردپرس تنظیم کنید.
مرحله 3: اتصال سایت وردپرس شما به SendLayer
قبل از اینکه بتوانید ایمیلها را با SendLayer ارسال کنید، باید دامنه خود را تایید کنید. این کار نشان میدهد که شما مالک تاییدشده دامنه ارسالکننده هستید و ایمیلهای شما از یک منبع معتبر ارسال میشوند. با دنبال کردن مراحل زیر میتوانید دامنه خود را تأیید کنید:
- از داشبورد SendLayer روی دکمه نارنجی «Add Domain» کلیک کنید.
- نام دامنه خود را در کادر مشخصشده وارد کنید. سپس روی دکمه «Add Domain» کلیک کنید.
توجه: با سرویسهای ارسال ایمیل دیگر مانند Brevo (قبلاً Sendinblue)، شما باید ابتدا یک سابدامنه برای سایت خود راهاندازی کنید. اما SendLayer به طور خودکار سابدامنه را به رکوردهای DNS دامنه ارسالکننده اضافه میکند. بنابراین نیازی به اضافه کردن سابدامنه اضافی هنگام ثبت دامنه نیست.
پس از اضافه کردن دامنه، SendLayer پنج رکورد DNS را به شما نشان میدهد که باید آنها را به تنظیمات رکورد DNS دامنه خود اضافه کنید. این خطوط کد به SendLayer کمک میکنند تا دامنه شما را تایید کند.
شما باید این رکوردهای DNS را به سایت وردپرس خود اضافه کنید. ممکن است این کار پیچیده به نظر برسد، اما تنها کاری که باید انجام دهید این است که آنها را کپی کرده و در مکان درست قرار دهید. برای این آموزش، ما از حساب هاستینگ خود در Bluehost برای نشان دادن این مراحل استفاده خواهیم کرد.
اگر از شرکتهای هاستینگ دیگری استفاده میکنید یا اگر DNS شما توسط ثبتکننده دامنه مانند Domain.com، Network Solutions یا GoDaddy مدیریت میشود، باید دستورالعملهای مربوطه را دنبال کنید:
- یک تب جدید در مرورگر خود باز کرده و وارد حساب کاربری هاستینگ وردپرس خود شوید. سپس رکوردهای DNS دامنه خود را پیدا کنید.
- در Bluehost، این کار را با رفتن به بخش «Domains» انجام دهید. سپس روی «Settings» کنار دامنهای که میخواهید به SendLayer متصل کنید، کلیک کنید.
- در صفحه بعدی، به بخش «Advanced Tools» بروید. سپس روی دکمه «Manage» کنار «Advanced DNS Records» کلیک کنید. نکته: پیامی هشدار دهنده خواهید دید که میگوید رکوردهای DNS باید توسط یک کاربر پیشرفته ویرایش شوند. نگران نباشید، زیرا روند این کار بسیار ساده است. روی «Continue» کلیک کنید تا ادامه دهید.
- وارد صفحه «Manage Advanced DNS Records» میشوید. برای شروع، روی دکمه «+ Add Record» کلیک کنید. حالا بیایید شروع به اضافه کردن رکوردهای DNS که SendLayer برای شما فراهم کرده کنیم.
- ابتدا نوع رکورد DNS را انتخاب کنید. در این مرحله، برای اولین رکورد از CNAME استفاده میکنیم.
- در بخش «Refers to»، روی «Other Host» کلیک کنید. شما همین گزینه را برای همه رکوردهای DNS خود در مراحل بعدی انتخاب خواهید کرد.
- با اسکرول کردن پایین، سه فیلد مشاهده خواهید کرد: Host Name، Alias و TTL. نام هاست باید با مقداری که در بخش «Hostname» از SendLayer ارائه شده، پر شود. مقدار «Alias» باید با مقداری که در «Value» آمده، پر شود. برای TTL میتوانید آن را روی 15 دقیقه باقی بگذارید. پس از انجام این کار، فقط روی «Add» کلیک کنید.
- این مراحل را برای تمام رکوردهای DNS (هم CNAME و هم TXT) تکرار کنید. هنگام افزودن رکورد TXT، مطمئن شوید که مقدار «Hostname» را از SendLayer در فیلد «Host Name» و مقدار «Value» را در فیلد «TXT Value» قرار دهید.
- پس از اضافه کردن رکوردهای DNS، به SendLayer برگردید و تیک کنار «I have added these DNS records and am ready to proceed» را بزنید. سپس روی دکمه «Verify DNS Records» کلیک کنید.
ممکن است 24 تا 48 ساعت طول بکشد تا SendLayer بتواند رکوردهای شما را تایید کند. طبق تجربه ما، این کار چند ساعت زمان برد. اگر پس از کلیک روی آن دکمه هیچ اتفاقی نیفتاد، به این معنی است که رکوردها هنوز تایید نشدهاند. شما میتوانید بعدا دوباره بررسی کنید تا ببینید آیا رکوردها تایید شدهاند یا نه. برای این کار به بخش «Settings» بروید و از داشبورد SendLayer به تب «DNS Records & Settings» مراجعه کنید.
نکته: لیستی از تمام رکوردهای DNS شما در یک جا نمایش داده میشود. هنگامی که دامنه شما با موفقیت تایید شد، علامتهای سبز کنار هر رکورد DNS در ستون «Status» را مشاهده خواهید کرد.
مرحله 4: اتمام تنظیمات WP Mail SMTP برای استفاده از SendLayer
حالا بیایید تنظیمات را کامل کنیم. ابتدا به حساب کاربری SendLayer خود بروید و کلید API خود را پیدا کنید.
- از داشبورد SendLayer، به صفحه «Settings» و سپس «API Keys» بروید. در اینجا، یک کلید API پیشفرض خواهید دید که هنگام تایید دامنه خود در SendLayer ایجاد شده است.
- میتوانید با کلیک روی آیکون کپی، کلید API را از این صفحه کپی کنید.
- حالا میتوانید به تب تنظیمات WP Mail SMTP برگردید. سپس کلید API را در قسمت مربوطه بچسبانید.
تبریک میگویم، شما همه چیز را به درستی تنظیم کردهاید. حالا تنها کافیست یک ایمیل آزمایشی ارسال کنید تا از عملکرد صحیح همه چیز مطمئن شوید.
- به WP Mail SMTP » Tools بروید. در تب «Email Test»، یک آدرس ایمیل وارد کنید که قرار است ایمیل به آن ارسال شود. به طور پیشفرض، این ایمیل به آدرس ایمیل مدیر سایت ارسال میشود. سپس روی «Send Email» کلیک کنید.
- باید پیغام «Test HTML email was sent successfully!» را مشاهده کنید.
برای بررسی اینکه ایمیل به درستی ارسال شده یا نه، صندوق ورودی خود را بررسی کنید.
توجه: اگر حساب SendLayer شما هنوز فعال نشده باشد، پیغام زیر را مشاهده خواهید کرد:
[permission_denied]: Unable to send email. Your SMTP account is not yet activated.
روشهای جایگزین برای رفع مشکل ارسال ایمیل در وردپرس
همانطور که از لیست گزینههای ایمیل موجود در افزونه WP Mail SMTP مشاهده میکنید، شما مجبور نیستید فقط از SendLayer استفاده کنید. اگرچه این سرویس یکی از بهترین توصیههای رایگان ما است، اما گزینههای دیگری نیز وجود دارند که میتوانید از آنها استفاده کنید، مانند Microsoft 365، Gmail (Google Workspace)، Amazon SES و غیره.
استفاده از Gmail یا Google Workspace با WP Mail SMTP برای رفع مشکل ایمیلهای وردپرس
اگر حساب Gmail دارید، میتوانید از آن برای ارسال ایمیلهایتان استفاده کنید. هنگام استفاده از افزونه WP Mail SMTP، نیازی به وارد کردن جزئیات ورود به ایمیل خود در وردپرس نخواهید داشت.
برای استفاده از Gmail یا Google Workspace، تنظیمات WP Mail SMTP را همانطور که در بالا توضیح داده شد، انجام دهید، سپس گزینه ‘Google / Gmail’ را برای سرویس دهنده ایمیل خود انتخاب کنید.
در مرحله بعد، میتوانید تنظیمات سرویسدهنده را با استفاده از راهاندازی یککلیک WP Mail SMTP پیکربندی کنید. این روش نیاز به ایجاد یک اپلیکیشن ندارد و کار را برای شما بسیار آسانتر میکند. کافی است وارد حساب Gmail خود شوید و روی «Save Settings» کلیک کنید.
اما چند محدودیت وجود دارد که باید آنها در نظر بگیرید:
1. ممکن است نیاز باشد تا با پشتیبانی هاست خود تماس بگیرید و از آنها بخواهید گواهی مناسب را برای فعالسازی این سرویس نصب کنند.
2. اگر در آینده ایمیل خود را تغییر دهید، باید دوباره تمام مراحل را از ابتدا طی کنید، که شامل ایجاد یک اپلیکیشن جدید خواهد بود.
استفاده از Microsoft 365 با WP Mail SMTP برای رفع مشکل ایمیلهای وردپرس
اگر از Microsoft Office 365 یا Outlook برای حساب ایمیل معمولی خود استفاده میکنید، میتوانید از آن برای ارسال ایمیلها از وردپرس هم بهره ببرید. با این حال، این گزینه به دلیل امنیت کمتری که دارد، توصیه نمیشود.
شما باید تنظیمات WP Mail SMTP را طبق مراحل بالا انجام دهید، سپس گزینه ‘365 / Outlook’ را برای سرویسدهنده ایمیل خود انتخاب کنید. سپس باید یک اپلیکیشن در Microsoft Azure ثبت کنید تا بتوانید فیلدهای مربوطه را پر کنید.
استفاده از Amazon SES با WP Mail SMTP برای رفع مشکل ایمیلهای وردپرس
پلتفرم Amazon AWS دارای سرویس ارسال ایمیل ساده (SES) است که میتوانید برای رفع مشکل ایمیلهای وردپرس از آن استفاده کنید.
نکته مثبت درباره Amazon این است که به شما اجازه میدهد تا هر ماه 62,000 ایمیل به صورت رایگان ارسال کنید. با این حال، راهاندازی این سرویس برای مبتدیان کمی پیچیدهتر است، به همین دلیل ما آن را به عنوان گزینه پیشفرض پیشنهاد نمیکنیم.
با این حال، همانطور که انتظار میرود، بسیاری از حرفهایها و متخصصین از Amazon SES برای سرویس ایمیل SMTP وردپرس خود استفاده میکنند، بنابراین ما نمیتوانستیم این مقاله را بدون اشاره به آن بنویسیم.
هر سرویسدهندهای که انتخاب میکنید، حتما از ویژگی «Test Email» استفاده کنید تا مطمئن شوید ایمیلها به درستی ارسال میشوند. همچنین، فراموش نکنید که صندوق ورودی خود را بررسی کرده و تایید کنید که ایمیل آزمایشی به دست شما رسیده است یا خیر.
جمعبندی
در این مقاله، به بررسی دلایل عدم ارسال ایمیلها در سایتهای وردپرس و نحوه رفع این مشکل با استفاده از SMTP پرداختیم. همانطور که دیدیم، استفاده از سرویسهای SMTP معتبر میتواند به طور چشمگیری در ارسال ایمیلهای وردپرس موثر باشد و جلوی مشکلاتی مانند ارسال به پوشه اسپم یا عدم تحویل ایمیلها را بگیرد. سرویسهایی مانند SendLayer، Gmail، Microsoft 365 و Amazon SES میتوانند به شما در حل این مشکل کمک کنند و با استفاده از پلاگین WP Mail SMTP میتوانید به راحتی سایت وردپرس خود را به این سرویسها متصل کنید. با انجام تنظیمات درست، اطمینان حاصل خواهید کرد که ایمیلهای شما به درستی و بدون مشکل ارسال میشوند.
اگر به دنبال یک راهحل سریع، حرفهای و مطمئن برای رفع مشکلات ارسال ایمیل در سایت وردپرس خود هستید، با پشتیبان های فنی وردپرس ما در سایت فریا در ارتباط باشید. بهترین گزینه برای شما باشد. فریا با ارائه خدمات تخصصی و پشتیبانی قوی، کمک میکند تا تمام مشکلات سایت خود را به راحتی حل کنید.
سوالات متداول
1- چرا ایمیلهای سایت وردپرس من ارسال نمیشوند؟
رایجترین علت این مشکل، تنظیمات نادرست سرور هاست برای استفاده از تابع mail() در PHP است. همچنین، ابزارهای ضد اسپم مانند Gmail میتوانند ایمیلهای سایت شما را مسدود کنند.
2- چرا باید از SMTP برای ارسال ایمیل استفاده کنم؟
SMTP استاندارد جهانی برای ارسال ایمیل است که برخلاف تابع mail() در PHP، از احراز هویت صحیح استفاده میکند و احتمال تحویل ایمیل به مقصد را بالا میبرد.
3- آیا میتوانم از Gmail برای ارسال ایمیل در وردپرس استفاده کنم؟
بله، شما میتوانید از Gmail یا Google Workspace برای ارسال ایمیلها با استفاده از افزونه WP Mail SMTP استفاده کنید. این گزینه راحت و سریع است، اما محدودیتهایی نیز دارد که باید به آنها توجه کنید.