
چرا ایمیلهایی از سایت وردپرسی خود دریافت نمیکنید؟
رایج ترین دلیل برای ناپدید شدن ایمیل ها این است که سرور هاستینگ وردپرس شما برای استفاده از تابع PHP mail() به درستی پیکربندی نشده است. حتی اگر هاستینگ شما برای استفاده از آن پیکربندی شده باشد، بسیاری از ارائه دهندگان خدمات ایمیل مانند Gmail و سایرین از ابزارهای مختلفی برای کاهش اسپم ایمیل استفاده می کنند. این ابزارها سعی می کنند تشخیص دهند که یک ایمیل از مکانی که ادعا می کند از آن آمده است، ارسال می شود یا خیر. ایمیل های ارسال شده از وب سایت های وردپرس اغلب این تست را شکست می دهند.
این بدان معنی است که هنگامی که ایمیلی از سایت وردپرس شما (از یک افزونه فرم تماس، اعلان مدیریت و غیره) ارسال می شود، ممکن است حتی به پوشه اسپم گیرنده هم نرسد، چه برسد به صندوق ورودی. به همین دلیل است که توصیه می کنیم از وردپرس برای ارسال خبرنامه ایمیل خود استفاده نکنید. این همچنین دلیلی است که ما به همه توصیه می کنیم از SMTP برای ارسال ایمیل در وردپرس استفاده کنند.
SMTP چیست؟
SMTP (پروتکل ساده انتقال نامه) استاندارد صنعتی برای ارسال ایمیل است. برخلاف تابع PHP mail()، SMTP از احراز هویت مناسب استفاده می کند که منجر به تحویل ایمیل با کیفیت بالا می شود. وردپرس دارای افزونه WP Mail SMTP است که سایت وردپرس شما را برای ارسال ایمیل با استفاده از SMTP به جای تابع PHP mail() پیکربندی می کند. شما می توانید از آن برای اتصال به هر سرویس SMTP محبوب مانند SendLayer، Brevo (قبلاً Sendinblue)، Gmail (Google Workspace)، Amazon SES و موارد دیگر استفاده کنید. با این حال، بیایید نگاهی بیندازیم به نحوه رفع مشکل عدم ارسال ایمیل وردپرس.
مرحله 1: نصب افزونه WP Mail SMTP
مهم نیست از کدام سرویس SMTP استفاده میکنید، باید افزونه WP Mail SMTP را روی سایت خود نصب کنید. این افزونه به شما امکان میدهد وردپرس را از استفاده از تابع داخلی PHP mail() به استفاده از سرویس SMTP خود تغییر دهید.
سپس، برای پیکربندی تنظیمات افزونه، روی “WP Mail SMTP” در داشبورد وردپرس خود کلیک کنید.

ابتدا باید نام و آدرس ایمیل تجاری را که میخواهید ایمیلهای سایت شما از آن ارسال شود، وارد کنید.
مطمئن شوید که از همان آدرس ایمیلی که برای سرویس ارسال ایمیل SMTP خود استفاده میکنید، استفاده میکنید.

میتوانید ایمیلها را مجبور کنید تا از این نام و آدرس ایمیل استفاده کنند، حتی اگر افزونههای دیگری مانند WPForms تنظیمات متفاوتی داشته باشند. WP Mail SMTP تنظیمات افزونههای دیگر را نادیده میگیرد.
پس از آن، باید یک سرویس ارسال ایمیل SMTP برای سایت خود انتخاب کنید. برای این آموزش، ما قصد داریم SMTP را با استفاده از SendLayer تنظیم کنیم.

برای تکمیل تنظیمات 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 ارسال کنید، باید دامنه خود را تأیید کنید. این کار به سرورهای ایمیل ثابت میکند که شما مالک تأیید شده دامنه ارسال خود هستید و ایمیلهای شما از یک منبع معتبر ارسال میشوند.
برای تأیید دامنه خود، روی دکمه نارنجی “Add Domain” در داشبورد SendLayer کلیک کنید.

در صفحه بعد، به سادگی نام دامنه خود را در فیلد ارائه شده تایپ کنید.
سپس روی دکمه “Add Domain” کلیک کنید.

توجه: با سایر سرویسهای پستی مانند Brevo (قبلاً Sendinblue)، ابتدا باید یک زیر دامنه برای وبسایت خود تنظیم کنید. اما SendLayer به طور خودکار زیر دامنه را به رکوردهای DNS دامنه فرستنده اضافه میکند.
بنابراین، هنگام ثبت دامنه نیازی به افزودن زیر دامنه اضافی ندارید.
پس از افزودن دامنه خود، SendLayer 5 رکورد DNS را به شما نشان میدهد که باید به تنظیمات رکورد DNS دامنه خود اضافه کنید.
این خطوط کد به SendLayer اجازه میدهند تا دامنه شما را تأیید کند.

باید این رکوردهای DNS را به سایت وردپرس خود اضافه کنید. این کار ممکن است پیچیده به نظر برسد، اما همه کاری که شما باید انجام دهید این است که آنها را در جای مناسب کپی و پیست کنید.
به خاطر این آموزش، ما مثال خود را با استفاده از حساب کاربری میزبانی خود در Bluehost نشان خواهیم داد.
اگر از شرکتهای هاستینگ دیگری استفاده میکنید یا اگر DNS شما توسط یک ثبتکننده دامنه مانند Domain.com، Network Solutions یا GoDaddy مدیریت میشود، دستورالعملهای مربوط به خودشان را دنبال کنید.
ابتدا یک تب مرورگر جدید باز کنید و وارد حساب کاربری میزبانی وردپرس خود شوید. سپس، رکوردهای DNS دامنه خود را پیدا کنید.
در Bluehost، با رفتن به بخش «دامنهها» این کار را انجام میدهید. سپس، روی «تنظیمات» کنار دامنهای که میخواهید با SendLayer وصل کنید، کلیک کنید.

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

پیام هشداری را مشاهده خواهید کرد که میگوید رکوردهای DNS باید توسط یک کاربر پیشرفته ویرایش شود. نگران این پیام نباشید، زیرا این فرآیند بسیار ساده است.
برو جلو و روی “ادامه” کلیک کن.

حالا شما به صفحه مدیریت رکوردهای DNS پیشرفته خواهید رسید.
برای شروع، روی دکمه “+ Add Record” کلیک کنید.

حالا بیایید شروع به اضافه کردن رکوردهای DNS کنیم که SendLayer ارائه کرده است.
اول، نوع رکورد DNS را انتخاب کنید. در این مورد، از CNAME برای اولین رکورد استفاده خواهیم کرد.
در بخش “Refers to”، روی “Other Host” کلیک کنید. شما این گزینه را برای همه رکوردهای DNS خود انتخاب خواهید کرد.

با پیمایش به پایین، سه فیلد را مشاهده خواهید کرد: Host Name، Alias و TTL.
Host Name باید با مقدار ارائه شده توسط SendLayer در “Hostname” پر شود. Alias باید با مقدار ارائه شده در “Value” پر شود. در مورد TTL، میتوانید آن را روی 15 دقیقه بگذارید.

تصویر زیر نشان میدهد که صفحه ما هنگام اضافه کردن اولین رکورد CNAME چگونه به نظر میرسید.
پس از اتمام، فقط روی “Add” کلیک کنید.

میتوانید این مراحل را برای همه رکوردهای DNS (هم CNAME و هم TXT) تکرار کنید.
هنگام اضافه کردن رکورد TXT، حتماً مقدار “Hostname” را از SendLayer در فیلد “Host Name” و مقدار “Value” را در فیلد “TXT Value” کپی و جایگذاری کنید.
در اینجا نحوه نمایش آن آمده است:

پس از اضافه کردن رکوردهای خود، به SendLayer برگردید و کادر کنار “I have added these DNS records and am ready to proceed” را علامت بزنید.
سپس روی دکمه “Verify DNS Records” کلیک کنید.

ممکن است 24 تا 48 ساعت طول بکشد تا SendLayer بتواند رکوردهای شما را تأیید کند. براساس تجربه ما، چندین ساعت طول کشید.
اگر با کلیک روی آن دکمه هیچ اتفاقی نیفتاد، هنوز نمیتوان رکوردها را تأیید کرد. میتوانید بعداً دوباره بررسی کنید تا ببینید آیا آنها تأیید شدهاند یا خیر. برای این کار به “Settings” رفته و به تب “DNS Records & Settings” در داشبورد SendLayer خود بروید.

در اینجا، لیستی از تمام رکوردهای 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. 1
راه حل های جایگزین برای رفع مشکل ارسال نشدن ایمیل در وردپرس
همانطور که از لیست گزینههای ارسالکننده ایمیل افزونه 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” کلیک کنید.

با این حال، چند اشکال کلیدی در استفاده از Gmail یا Google Workspace حرفهای شما وجود دارد.
یکی این است که ممکن است نیاز باشد با میزبان وب خود تماس بگیرید تا از آنها بخواهید گواهی مناسب را برای کارکرد آن نصب کنند.
دیگر اینکه اگر در آینده آدرس ایمیل خود را تغییر دهید، باید کل فرآیند را دوباره طی کنید. این شامل ایجاد یک برنامه وب جدید خواهد بود.
استفاده از Microsoft 365 با WP Mail SMTP برای رفع مشکل ایمیلهای وردپرس
اگر از Microsoft Office 365 یا Outlook برای حساب ایمیل معمولی خود استفاده میکنید، میتوانید از آن نیز برای ارسال ایمیل از طریق وردپرس استفاده کنید. با این حال، این گزینه توصیه نمیشود، زیرا کمتر ایمن است.
باید WP Mail SMTP را همانطور که در بالا توضیح داده شد تنظیم کنید، سپس هنگام انتخاب ارسالکننده SMTP خود، گزینه “365 / Outlook” را انتخاب کنید. سپس، باید یک برنامه را در Microsoft Azure ثبت کنید تا بتوانید فیلدهای زیر را پر کنید.

برای جزئیات بیشتر، راهنمای کاملی در مورد چگونگی تنظیم Outlook با WP Mail SMTP وجود دارد.
استفاده از Amazon SES با WP Mail SMTP برای رفع مشکل ارسال ایمیل در وردپرس
پلتفرم AWS آمازون دارای یک سرویس ایمیل ساده (SES) است که میتوانید از آن برای رفع مشکل ایمیل وردپرس استفاده کنید.
بهترین بخش در مورد آمازون این است که به شما امکان میدهد1 تا 62000 ایمیل را هر ماه به صورت رایگان ارسال کنید. عیب آن این است که تنظیم آن برای مبتدیان کمی چالشبرانگیز است، به همین دلیل آن را به عنوان گزینه ترجیحی خود توصیه نمیکنیم.
اما همانطور که میتوانید تصور کنید، بسیاری از متخصصان و کارشناسان از Amazon SES برای سرویس SMTP ایمیل وردپرس خود استفاده میکنند، بنابراین نمیتوانیم مقالهای بنویسیم بدون اینکه به آن اشاره کنیم.
اگر به تنظیم Amazon SES با وردپرس علاقهمند هستید، میتوانید دستورالعملهای کامل را در مورد نحوه تنظیم Amazon SES با وردپرس مشاهده کنید.
هر میلری که تصمیم به استفاده از آن دارید، همیشه به یاد داشته باشید که از ویژگی “Test Email” برای اطمینان از ارسال موفقیتآمیز ایمیلها استفاده کنید.
همچنین باید صندوق ورودی خود را بررسی کنید و تأیید کنید که ایمیل آزمایشی را دریافت کردهاید.
امیدواریم این مقاله به شما کمک کرده باشد تا مشکل عدم ارسال ایمیل در وردپرس را برطرف کنید.