آموزش افزونه WP Mail SMTP و حل مشکل ارسال ایمیل در وردپرس
یکی از مشکلات متداول در وردپرس مشکل ارسال و دریافت ایمیل است. بسیاری از ایمیل هایی که از طرف وردپرس ارسال می شود یا نرسیده یا سر از پوشه اسپم در می آورد. اما این مشکل به راحتی با استفاده از افزونه WP Mail SMTP قابل حل است که در این مقاله به آموزش آن می پردازیم.
افزونه WP Mail SMTP یکی از بهترین افزونه های SMTP وردپرس است که توسط یک تیم حرفه ای و قدرتمند طراحی شده است. از این افزونه برای حل مشکلات ارسال و دریافت ایمیل و ارسال مطمئن و احراز اصالت شده ایمیل ها در وردپرس استفاده می شود.
چرا ایمیل ها در وردپرس به درستی ارسال نمی شوند؟
شاید این سوال برای شما پیش آمده باشد که چرا در وردپرس ایمیل ها به درستی ارسال نمی شوند. دو دلیل اصلی برای عدم ارسال موفقیت آمیز ایمیل ها در وردپرس وجود دارد:
- تنظیمات سرور
- فیلتر کردن اسپم ها
وردپرس و افزونه های آن به صورت پیش فرض از تابع ()mail زبان برنامه نویسی PHP برای ارسال ایمیل ها استفاده می کنند. اما بسیاری از سرورهای هاستینگ وردپرس برای استفاده از تابع mail پیکربندی نشده اند یا این تابع را برای جلوگیری از سوء استفاده های احتمالی کاملاً غیرفعال کرده اند. در هر دو حالت ایمیل های شما به درستی تحویل داده نخواهند شد.
ساده ترین و استانداردترین روش برای حل این مشکل استفاده از SMTP برای ارسال ایمیل های وردپرس است. SMTP (Secure Mail Transfer Protocol) یک پروتکل ارسال ایمیل امن است که مشکلات مربوط به ارسال ایمیل را با تغییر دادن روشی که ایمیل ها ارسال می شوند و احراز اصالت آنها رفع می کند.
برای ارسال ایمیل با استفاده از SMTP باید به یک سرور ایمیل لاگین کنید. همچنین وردپرس باید بتواند به سرور ایمیل شما متصل شود. به همین دلیل وردپرس به راه اندازی از طریق یک افزونه مانند WP Mail SMTP نیاز دارد.
افزونه WP Mail SMTP با وارد کردن اعتبار SMTP به شما اجازه ارسال ایمیل های وردپرس از طریق SMTP را می دهد. این افزونه قابل انعطاف ترین روش برای اتصال به سرویس های مختلف SMTP است و از افزونه های ضروری سایت های کسب و کار در وردپرس به شمار می رود. تیم پشتیبانی افزونه WP Mail SMTP همان تیم افزونه WP Forms است و بنابراین باید انتظار یک افزونه قوی و کارآمد را داشته باشید.
این افزونه روش های مختلفی برای نصب SMTP بر روی سایت شما دارد که عبارتند از:
- Gmail یا G Suite: تنها با ایمیل های گوگل کار می کند، امنیت بالایی دارد و نیازی به اشتراک ندارد.
- Mailgun: با هر نوع ایمیلی کار می کند، امنیت بالایی دارد و نیازمند ایجاد اشتراک است.
- SendGrid: با هر نوع ایمیلی کار می کند، امنیت بالایی دارد و نیازمند ایجاد اشتراک است.
- Other SMTP: با هر نوع ایمیلی کار می کند، امنیت آن پایین تر است و نیاز به اشتراک ندارد.
در این آموزش افزونه WP Mail SMTP را مورد بررسی قرار داده و نحوه استفاده از آن و روش های مختلف نصب SMTP بر روی سایت برای رفع مشکلات ارسال ایمیل را توضیح خواهیم داد.
آموزش افزونه WP Mail SMTP و نحوه رفع مشکلات ارسال ایمیل در وردپرس
ابتدا افزونه را از پایین صفحه دریافت نموده و آن را در سایت خود در بخش افزونه ها نصب کنید. اگر منو افزونه را ندیدید یا اطلاعات جزئی تری لازم دارید، به راهنمای گام به گام ما در مورد آموزش نصب افزونه وردپرس مراجعه کنید.
بعد از اینکه افزونه نصب شد آن را فعال کنید. پس از فعال سازی افزونه منوی جدیدی به نام ایمیل در پیشخوان وردپرس اضافه می شود.
در اولین گام باید روی این منو کلیک کرده و وردپرس را برای استفاده از SMTP پیکربندی کنید.
با کلیک بر روی منوی ایمیل، صفحه تنظیمات افزونه WP Mail SMTP باز می شود. در این صفحه گزینه های پیکربندی زیادی مشاهده می کنید که در ادامه آموزش به بررسی آنها می پردازیم.
اولین قسمت تنظیمات عمومی افزونه است.
این قسمت از تنظیمات برای تمام شرکت های ارائه دهنده خدمات هاستینگ مشابه است. حال در ادامه آموزش به شما نشان می دهیم که چگونه تنظیمات عمومی افزونه WP Mail SMTP را پیکربندی کنید.
برای پیکربندی تنظیمات باید فیلدهای صفحه فوق را به ترتیب زیر پر کنید:
- ایمیل ارسال کننده: در این قسمت باید آدرس ایمیلی که برای ارسال تمام ایمیل های وردپرس استفاده می کنید را وارد نمایید. توصیه می کنیم که یک آدرس ایمیل جداگانه در هاست خود (دایرکت ادمین، سی پنل یا کنترل پنل های دیگر) برای وب سایت وردپرسی خود ساخته و از آن استفاده کنید.
- نام ارسال کننده: از این نام برای ارسال ایمیل ها استفاده می شود. توصیه می شود از نام وب سایت خود برای این قسمت استفاده کنید. اگر این فیلد را خالی بگذارید ایمیل ها با عنوان وردپرس ارسال خواهند شد.
- مسیر بازگشت: با فعال کردن این گزینه اطلاعیه های ارسال ایمیل یا ایمیل های تحویل داده نشده را دریافت خواهید کرد.
- ارسال کننده ایمیل: اگر از سرور SMTP هاست خود برای برای ارسال ایمیل ها استفاده می کنید گزینه SMTP های دیگر را انتخاب کنید. اما اگر مایل به استفاده از ارسال کننده های دیگر هستید باید ارسال کننده مورد نظر خود را در این قسمت انتخاب کنید.
افزونه WP Mail SMTP برخلاف دیگر افزونه های SMTP به شما اجازه نصب SMTP بر روی سایت خود با استفاده از چهار ارسال کننده مختلف ایمیل را می دهد.
در این قسمت از آموزش افزونه WP Mail SMTP طریقه نصب SMTP با استفاده از سرور SMTP هاست را توضیح می دهیم.
آموزش نصب SMTP در وردپرس با استفاده از سرور SMTP هاست در افزونه WP Mail SMTP
با انتخاب گزینه SMTP های دیگر باید تنظیمات سرور SMTP که شرکت هاستینگ شما در اختیارتان قرار می دهد را وارد کنید.
- میزبان SMTP: در این فیلد معمولاً عبارت پیش فرض localhost وارد می شود. اما برای اطمینان بیشتر بهتر است آدرس هاست SMTP را از شرکت هاستینگ خود بپرسید.
- رمزنگاری: در این قسمت باید روش رمزنگاری که سرور ایمیل شما برای ارسال ایمیل ها از آن استفاده می کند را انتخاب کنید. این قسمت را روی هیچ یک قرار دهید.
- پورت SMTP: در این قسمت باید پورت SMTP سرور خود را وارد نمایید. پورت پیش فرض 25 می باشد اما بسیاری از شرکت های ارائه دهنده خدمات هاست برای افزایش امنیت پروتکل SMTP آن را تغییر می دهند. بهتر است برای اطمینان بیشتر از هاستینگ خود در این مورد سوال کنید.
- TLS خودکار: این گزینه باید به حالت فعال باشد.
- احراز هویت: باید به حالت فعال باشد.
- نام کاربری SMTP: در این قسمت معمولاً باید آدرس ایمیلی را وارد کنید که برای ارسال ایمیل از آن استفاده می کنید. اگر از ایمیلی که در هاست ایجاد کرده اید استفاده می کنید آدرس کامل آن را در این قسمت وارد کنید. مانند wordpress@examle.com
- رمز عبور SMTP: پسورد ایمیل خود را در این قسمت وارد کنید. برای امنیت بیشتر می توانید رمز عبور خود را در تنظیمات وردپرس ذخیره کنید. برای این کار باید کد زیر را به فایل wp-config.php اضافه کنید.
define( ‘WPMS_ON’, true );
define( ‘WPMS_SMTP_PASS’, ‘your_password’ );
سپس بر روی دکمه ذخیره تغییرات کلیک نمایید. می توانید از تب آزمایش ایمیل برای تست سرویس و صحت عملکرد آن استفاده کنید.
در قسمت ارسال به یک آدرس ایمیل وارد کرده و بر روی دکمه ارسال ایمیل کلیک کنید تا یک ایمیل تست به آدرسی که وارد کرده اید ارسال شود.
حال که با طریقه نصب SMTP بر روی سایت وردپرسی خود با استفاده از سرور SMTP هاست آشنا شدید در ادامه آموزش افزونه WP Mail SMTP نحوه انجام این کار با استفاده از سرور SMTP جیمیل را توضیح خواهیم داد.
نصب SMTP در وردپرس با استفاده از سرور SMTP Gmail
در پیشخوان وردپرس به مسیر تنظیمات » ایمیل بروید. صفحه ای مطابق شکل زیر برای شما نشان داده می شود.
می توانید فیلدهای ایمیل ارسال کننده و نام ارسال کننده را خالی بگذارید. زیرا گوگل به صورت خودکار مقادیر فیلدهای مذکور را با اکانت ایمیلی که در مرحله بعد وارد خواهد شد، تطبیق می دهد.
برای شروع مرحله نصب باید در قسمت ارسال کننده ایمیل، جیمیل را انتخاب کنید.
توجه داشته باشید که API گوگل که توسط ارسال کننده جیمیل استفاده می شود اجازه سفارشی سازی بخش های خاصی مانند پاسخ به آدرس های ایمیل را نمی دهد. اگر این مسأله برای شما مهم است باید از یک روش دیگر برای ارسال کننده ایمیل استفاده کنید
از فعال کردن باکس مسیر بازگشت صرف نظر کنید زیرا گوگل اجازه این تنظیمات را نمی دهد.
با انتخاب جیمیل به عنوان ارسال کننده ایمیل فیلدهایی مشابه شکل زیر برای شما نشان داده می شود که شامل Client ID، Client Secret و یک URL در فیلد Authorized redirect URI است.
ابتدا باید داده های لازم برای پر کردن فیلدهای فوق را بدست آورید. برای این کار باید از طریق اکانت گوگل خود یک اپلیکیشن وب بسازید. در ادامه آموزش افزونه WP Mail SMTP دقیقاً به شما نشان می دهیم که چگونه این کار را انجام دهید.
ساخت App و تولید کلید API برای جیمیل
ابتدا باید در وب سایت Google Developer Console (کنسول توسعه دهندگان گوگل) یک پروژه جدید ایجاد کنید. با کلیک بر روی این لینک اگر به اکانت جیمیل خود متصل باشید فرمی با نام Register your application for Gmail API در کنسول API گوگل مشابه شکل زیر باز می شود.
در پنجره کشویی با لیبل Select a project where your application will be registered گزینه پیش فرض آن که Create a project است را به همان صورت نگه داشته و روی دکمه Continue کلیک کنید.
سپس صفحه ای را مشاهده خواهید کرد که در آن عبارت The API is enabled نوشته شده است. برای ادامه روی دکمه Go to credentials کلیک کنید.
در صفحه بعدی باید اعتباراتی که لازم دارید را مشخص کنید.
- در قسمت Which API are you using گزینه Gmail API را انتخاب کنید.
- در قسمت Where will you be calling the API from گزینه web server (e.g. node.js, Tomcat) را وارد کنید.
- در قسمت What data will you be accessing گزینه User data را انتخاب کنید.
- سپس روی دکمه What credentials do I need کلیک کنید.
بعد از کلیک بر روی دکمه فوق یک پنجره پاپ آپ به شکل زیر نشان داده می شود. یک پنجره/تب جدید برای شما باز می شود.
روی Set Up Consent Screen کلیک کنید. یک تب یا پنجره جدید به صورت زیر باز می شود. توجه داشته باشید که پنجره قبلی را نبندید زیرا دوباره به آن احتیاج خواهیم داشت.
اگر دارای یک اکانت G Suite هستید، گزینه اول یعنی Internal را انتخاب کنید. در غیر این صورت گزینه External را تیک بزنید. سپس روی دکمه Create کلیک کنید.
صفحه ای مشابه شکل زیر نشان داده می شود.
- در قسمت Application name نام سایت خود یا هر نام دیگری که مایل هستید را وارد کنید.
- سپس به پایین صفحه اسکرول کنید و در قسمت Authorized domains آدرس سایت خود را بدون //:http یا //:https وارد کنید.
- در باقی قسمت ها آدرس وب سایت خود را همراه با //:http یا //:https وارد کنید.
روی دکمه Save در پایین صفحه کلیک کنید.
حال به صفحه Credentials که در ابتدا باز کرده بودید، برگردید.
حال در ادامه آموزش ساخت App به صفحه تنظیمات افزونه WP Mail SMTP در وردپرس برگشته و مقدار فیلد Authorized redirect URI را کپی کنید.
سپس به صفحه Google API بازگشته و در فیلد Authorized redirect URIs مقدار کپی شده را وارد کنید.
سپس روی دکمه Create Client کلیک نمایید. ممکن است یک دکمه Refresh مشاهده کنید. پس از کلیک بر روی این دکمه می توانید دکمه Create Client را مشاهده کنید.
شما موفق شده اید که یک اپلیکیشن وب گوگل را ایجاد کنید.
صفحه ای به شما نشان داده می شود که می توانید Client ID و دیگر جزئیات را مشاهده کنید. در آخرین پنجره روی I’ll do this later کلیک کنید تا به صفحه Credentials بروید.
در صفحه Credentials می توانید جزئیات اپلیکیشنی که ساخته اید را مشاهده کنید. برای مشاهده Client ID و Client Secret روی آیکون مداد کلیک کنید.
در صفحه باز شده تمام جزئیات App شامل Client ID و Client secret نشان داده می شود.
هر دو مورد فوق را باید کپی کرده و در تنظیمات افزونه WP Mail SMTP در صفحه پیشخوان وردپرس وارد کنید.
پس از ذخیره کردن تنظیمات فوق، صفحه رفرش شده و دکمه ای با عنوان “اجازه به افزونه برای ارسال ایمیل با استفاده از جسای کاربری گوگل شما” ظاهر می شود. این دکمه برای تایید نهایی تنظیمات SMTP وردپرس و برقراری ارتباط با سرور ایمیل است.
با کلیک بر روی این دکمه صفحه ای نشان داده خواهد شد که باید در آن آدرس جیمیل خود را تایید کنید. بر روی دکمه Allow کلیک نمایید.
یک پیام موفقیت آمیز در تنظیمات افزونه WP Mail SMTP نشان داده خواهد شد. پس از آن می توانید در تب آزمایش ایمیل یک ایمیل تست ارسال کرده و از صحت کار خود مطمئن شوید.
امیدواریم این آموزش مورد توجه و استفاده شما قرار گرفته باشد.
دانلود افزونه
ساخت app خیلی خارق العاده بود کیف کردم فقط ای کاش یه اپلیکیشنی هم برای وب سایت ما میشد تنظیم کرد…
میشه اینکار رو کرد، می تونید به یک نفر که در این زمینه تخصص داره سفارش بدید تا اپلیکیشن مناسب سایت شما تولید بشه!
من از وقتی که این افزونه رو نصب کردم . افزونه سئوم کار نمیکنه میشه راهنماییم کنید
با سلام
افزونه wp mail smtp هیچگونه تداخلی با افزونه های سئو رایج نداره، اگر چنین اشکالی رو مشاهده می فرمائید لطفا وردپرس رو به آخرین نسخه آپدیت بفرمائید، صحت اورجینال بودن افزونه های نصب شده چک کنید، در آخر اگر مشکلی باشه قطعا از قالب شماست والا این مشکل شما به افزونه ها مرتبط نیست…
سلام
خسته نباشید من همه مراحل رو درست میرم اجاازه هم میدم بعد ارسال ایمیل آزمایشی که میزنم ارور میده…
لطفا اروری که هنگام کار با افزونه WP Mail SMTP دریافت می کنید رو بفرمائید تا بررسی کنیم و بهتون یه راهکار مناسب معرفی کنیم…
سلام
ارور میده توی تست….
There was a problem while sending the test email.
اگه آموزش رو دقیق مطالعه فرمودید به شرکت هاستینگ میزبان سایت تیکت بزنید، احتمالا از تنظیمات هاست و سرور باشه…
سلام .مو به مو انجام دادم ولی در نهایت بعد از کلیک رو دکمه Allow plugin to send emails using your Google account با خطای زیر مواجه میشم
خطای ۴۰۰: redirect_uri_mismatch
سلام..redirect URI باید در کنسول API ثبت شده باشد و خطا نشان می ده که این کار انجام نشده یا درست انجام نشده..به کنسول پروژه برگردید و بررسی کنید که redirect URI شما ثبت شده یا خیر
با سلام وتشکر بابت آموزش خوبتون
تواین مرحله بعد از کلیک بر روی دکمه فوق یک پنجره پاپ آپ به شکل زیر نشان داده می شود. یک پنجره/تب جدید برای شما باز می شود. می توانید روی Not Now کلیک کرده و از این قسمت صرف نظر کنید.
وقتی صف نظر می کنم دکمه سپس روی دکمه Create Client کلیک نمایید. فعال نیست و یه لینک کوچیک که نوشته refresh وقتی رفرش رو می زنم پیام می ده اول باید به صفحه OAuth consent screen بروید و کامل کنید
مشکل از کجاست؟
سلام دوست عزیز…. از آنجایی که از OAuth2 برای ساخت app استفاده می شه شما دیگه نمی تونید روی Not Now کلیک کنید…آموزش بروزرسانی شده ..مجدداً قسمت ساخت app رو مطالعه کرده و مراحل رو دنبال کنید…با تشکر از شما
با سلام و احترام
من تمامی مراحل رو پیش رفتم، در مرحله تایید(قبل از مرحله تست) پیام This app isn’t verified دریافت میکنم. چطور میتونم این مسئله رو حل کنم؟
متشکرم
با سلام و عرض ادب …در مستندات افزونه آورده شده که روی لینک Advanced کلیک کنید و از این پیام صرف نظر کنید.
سلام و وقت بخیر
با توجه به اینکه Google Developer Console برای ایران تحریم شده است، در صورتی که با شکن از آن عبور کنیم و مراحل فوق به طور کامل انجام شود ایا در هنگام ارسال ایمیل به مشکلی برخورد نمی کنیم؟؟؟
سلام آقای موسوی
وقت بخیر
اگه سرور ایران نباشه، مشکل خاصی به وجود نمیاد…
البته به موارد دیگه ای هم بستگی داره…
سرور من ایرانه و بدون مشکل کار کرد . ایوووووووووووووووووووووووووووووووووووووووووول
سلام
من میخوام حساب جی میل رو تائید کنم بهم ارور میده
error 403: access_denied the developer hasn’t given you access to this app. it’s currently being tested and it hasn’t been verified by google. if you think you should have access, contact the developer
اینو چجوری باید رفع کنم؟
سلام الهام عزیز .. وقت بخیر .. این ارور وقتی به شما نشان داده می شه که سایت وردپرس شما سعی در ارسال ایمیل داره اما مراحل authorization کامل نشده … راه حلی که من در فروم ها پیدا کردم اینه که باید به قسمت تنظیمات OAuth در سمت چپ کنسول developers خود برید. بعد app خودتون رو منتشر کنید تا از حالت “test” به “production” تغییر کنه. مثل این اسکرین شات
سلام ممنون از راهنمایی تون. این مشکل حل شد. ولی دوباره میخوام احراز هویت کنم ارور دیگه ای میده.
Error 401: deleted_client
The OAuth client was deleted.
؟؟؟؟؟؟
سلام .. الهام جان یک بار دیگه مراحل ساخت app رو تکرار کن و یک Client ID و Client secret جدید بگیر ببین مشکل حل میشه … خیلی خوب شد که ارور قبلی برطرف شد …میشه بگی از چه روشی استفاده کردی؟ همون تغییر حالت test به production؟
بله تغییر حالت test به production .همون کاری که شما گفتید انجام دادم. ممنون از راهنمایی دقیقتون.
دوباره مراحل رو انجام دادم درست شد. الان هم تست انجام دادم ایمیل ارسال میشه. خیلی عالی بود ممنونم از شما
خیلی خوشحالم که انجامش دادین … موفق باشین
عالی بود
ممنون از توضیحاتتون