عدم ارسال ایمیل توسط ووکامرس، یا ارسال ایمیلهای ناقص یکی از مشکلات رایجی است که کاربران پلاگین ووکامرس در وردپرس با آن روبرو میشوند. به طور مثال ممکن است مشتریهای یک وب سایت اطلاعیههای مربوط به سفارشهای خود در سایت را دریافت نکنند.
همچنین گاها این مشکل پیش میآید که صاحب وب سایت به هیچ وجه ایمیلی دریافت نمیکند یا ووکامرس هیچ گونه اطلاعیهای مربوط به دریافت ایمیل ارسال نمیکند. اغلب این مشکل ناشی از تنظیمات نادرست در پلاگین یا عدم سازگاری با نسخههای HHVM، PHP یا موارد دیگر است.
در این مقاله به دلایل متنوعی که منجر به عدم ارسال ایمیل توسط ووکامرس میشوند، اشاره میکنیم و راه حلهایی برای رفع آنها ارائه میکنیم.
تنظیمات ایمیل ووکامرس را بررسی کنید
در تنظیمات ایمیل ووکامرس، دو مورد مهم باید بررسی شوند: Email sender options و Individual notification emails.
پیکربندی ارسال ایمیل: برای بررسی خطاها در بخش تنظیمات فرستندهی ایمیل، ابتدا وارد داشبورد وردپرس شوید. سپس در منوی اصلی، موس را بر روی عبارت ووکامرس قرار دهید و گزینه پیکربندی را انتخاب کنید.
حال روی زبانه ایمیلها کلیک کنید. در این صفحه عبارت پیکربندی ارسال ایمیل را بیابید و از صحیح بودن اطلاعات وارد شده در بخش “از” نام و “از” آدرس اطمینان حاصل کنید.
اطلاعات “از” نام همان نامی را نشان میدهد که شما میخواهید مشتریهایتان هنگام دریافت ایمیل از سوی شما آن را مشاهده کنند. در این بخش از کاراکترهای خاص مانند“ @/.&-“ استفاده نکنید. تنها استفاده از حروف مجاز است. اگر در حال حاضر از نامی شبیه yourname@BusinessName استفاده میکنید، احتمالا به همین دلیل امکان ارسال ایمیل برای شما وجود ندارد.
در بخش “از” آدرس بررسی کنید که آیا آدرس صحیح برای ارسال ایمیلها وارد شده است؟ در صورتی که نیاز به اصلاح دارد، پس از انجام تغییرات، بر روی گزینه ذخیره تغییرات کلیک کنید.
اطلاع رسانیهای ایمیل: برای اطمینان از تنظیمات صحیح در صفحه ایمیلها میتوانید تمام اطلاعات مربوط به ایمیلهای اطلاعرسانی را مشاهده کنید. روی اطلاعرسانی که دچار مشکل شده است کلیک کنید. آیا این اطلاعرسانی برای کاربری شما فعال شده است؟ در غیر این صورت آن را فعال کنید. سپس ایمیل گیرنده را چک کنید که به درستی وارد شده باشد. در نهایت بر روی گزینه ذخیره تغییرات کلیک کنید.
ایمیل را روی سرور خود آزمایش کنید
با استفاده از پلاگین سادهی Check Email plugin میتوانید یک آزمون ساده بر روی وردپرس وب سایت خود اجرا کنید تا از ارسال ایمیل با وجود تنظیمات کنونی وردپرس یا سرور خود مطمئن شوید. این اولین راه حل برای عدم ارسال ایمیل توسط ووکامرس است.
پس از نصب پلاگین، در منوی ابزارها در داشبورد وردپرس روی گزینه Check Email کلیک کنید. یک آدرس ایمیل وارد کنید و سپس عبارت Send test email را انتخاب کنید.
با این روش میتوانید سرور خود را بیازمایید. حال یک پیام تایید ظاهر میشود. به آدرس ایمیلی که وارد کردهاید مراجعه کنید تا از ارسال ایمیل اطمینان حاصل کنید.
موضوع ایمیل Test email from https://yourdomain.com خواهد بود. همچنین پوشه اسپم و Junk خود را چک کنید. در صورتی که ایمیل را دریافت کردهاید، به این معنی است که وردپرس به درستی بر روی وب سرور شما کار میکند.
در نتیجه مشکل احتمالا ناشی از عدم پیکربندی مناسب با پلاگین فرم کاربری و یا عدم سازگاری است.
امکان مراجعه به توسعهدهنده پلاگین برای رفع مشکل گزینهای در دسترس است. میتوانید به آنها توضیح دهید که تست بالا را بر روی سیستم خود انجام دادهاید و با تنظیمات وردپرس شما کار میکند.
چگونه گزارش ایمیلهای ارسالی را مشاهده کنیم
اگر ارسال ایمیل درست کار میکند، مشکل میتواند در بخش تحویل ایمیل به گیرنده باشد.
به این معنی که احتمالا یک سرویس جلوگیری از اسپم، ایمیلهای ارسالی شما را به عنوان اسپم شناسایی کرده است. با نصب پلاگین WP Mail Logging، میتوانید فهرستی از تمامی ایمیلهای ارسال شده را مشاهده کرد.
پس از دانلود و فعال کردن پلاگین، در سایت یک درخواست به عنوان تست بفرستید. در داشبورد وردپرس، به بخش WP Mail Log مراجعه کنید. در صفحه مربوط به پلاگین میتوانید مشاهده کنید که آیا درخواست شما به ارسال ایمیل منجر شده است یا خیر. همچنین اگر خطایی در فرایند رخ داده باشد، در این صفحه نمایش داده میشود.
در صورتی که ایمیل ارسال شده، ولی تحویل داده نشده است، به ترتیب زیر عمل کنید:
با رفتن به بخش ووکامرس، پیکربندی و سپس ایمیلها، مقدار ورودی “از” آدرس را بررسی کنید که آدرس ایمیل وارد شده، متصل به دامنه مورد استفاده شما است. اگر از دامنه @gmail.com استفاده کنید، عدم انطباق بین سرور شما و سرور مربوط به ایمیل (در اینجا Gmail) میتواند باعث انتقال ایمیل ارسالی به فایل اسپم شود.
برای حل این مشکل همچنین میتوانید از یک پلاگین SMTP استفاده کنید که ایمیل از طریق سرور آنها ارسال شود. در این حالت احتمال تحویل ایمیل بالاتر میرود.
بررسی کنید که ایمیلها به پوشه اسپم ارسال نشده باشند
احتمال دیگر برای عدم ارسال ایمیل توسط ووکامرس این است که ایمیلهای ارسال شده به کاربران به جای صندوق ورودی سرویس ایمیل آنها، در پوشه اسپم باشند. بنابراین احتمالا آدرس آی پی وب هاست (web host IP address) شما در لیست سیاه قرار گرفته است که دلیل آن اسپم کردن کاربرانی است که این آدرس را با شما به اشتراک میگذارند.
برای این کار باید با وب هاست خود تماس بگیرید، مشکل پیش آمده را توضیح دهید و از آنها بخواهید در رفع مشکل به شما کمک کنند. اگر وب هاست شما قادر به حل مشکل نیست و شما نیز قصد ندارید هاست خود را تغییر دهید، بهتر است از یک پلاگین SMTP استفاده کنید.
از یک ایمیل با دامنه متفاوت برای دریافت پیام استفاده کنید
گاها ممکن است مشکل ارسال اعلانها یکطرفه باشد. به این معنی که کاربران سایت شما اعلان مربوط به سفارشها و فعالیتهای خود را دریافت میکنند، ولی شما گزارشی از فعالیت کاربران دریافت نمیکنید.
برخی کاربران ووکامرس علت این مشکل را استفاده از آدرس ایمیل گیرنده و فرستنده با دامنه یکسان اعلام کرده اند. و این باعث به وجود آمدن عدم ارسال ایمیل توسط ووکامرس می شود. به طور مثال آدرس فرستنده example@yourdomain.com و آدرس گیرنده نیز person@yourdomain.com باشد. هردوی آدرسها در دامنه yourdomain.com قرار دارند.
استفاده از یک آدرس ایمیل گیرنده با دامنه متفاوت به سادگی مشکل شما را حل میکند.
در داشبورد وردپرس، به بخش ووکامرس و سپس پیکربندی بروید. بر روی زبانه ایمیلها کلیک کنید و اعلانی را که دچار مشکل شده است، انتخاب کنید. برای گیرنده ایمیل یک آدرس جدید با دامنه متفاوت انتخاب کنید و در پایان گزینه ذخیره تغییرات را بزنید.
آموزش نصب SMTP در وردپرس
درصورتی که موارد ذکر شده در بالا راهگشا عدم ارسال ایمیل توسط ووکامرس نبود، از یک سرویسدهنده SMTP کمک بگیرید. این سرویسدهندهها شبیه به یک وب هاست عمل میکنند. یک حساب کاربری تهیه میکنید و از سرویسهایشان بهره بگیرید.
استفاده از این سرویس، نسبت به ارسال ایمیل از طریق سرورهای خودتان مطمئنتر است. به طور مثال، Gmail یک سرویسدهنده ایمیل است که در آن ارسال و دریافت ایمیل صورت میپذیرد. داشتن یک سرویس SMTP اختصاصی مانند این است که شما نیمی از امکانات Gmail را در اختیار دارید، به طوری که صرفا میتوانید از طریق آن ایمیل ارسال کنید و قادر به دریافت ایمیل نخواهید بود.
ووکامرس از طریق تابع wp_mail() در وردپرس ایمیلها را ارسال میکنند. وردپرس، PHP را فرا میخواند و PHP نیز در وب هاست شما، سرور را فرامیخواند. وب هاستها به طور کلی استفاده از تابع PHP Mail را محدود میکنند زیرا سواستفاده از آن بسیار آسان است. در ادامه چهار گزینه معرفی میشود که برای اغلب وب سایتها قابل استفاده هستند. برای نصب هر یک از آنها میتوانید از توضیحات مربوط به مراحل نصب در بخش پیکیربندی بهره بگیرید:
پیکربندی Gmail SMTP در وردپرس
Gmail SMTP در حال حاضر بهترین پلاگین برای رفع مشکل ارسال ایمیل در ووکامرس است. برای نصب و راهاندازی این پلاگین مراحل زیر را انجام دهید:
برای نصب پلاگین، ابتدا وارد داشبورد وردپرس شوید. نشانگر موس را روی افزونهها قرار دهید و بر روی گزینه افزودن کلیک کنید.
در نوار جستجو، عبارت Gmail SMTP را سرچ کنید. بعد از ظاهر شدن پلاگین مورد نظر در نوار جستجو، بر روی هماکنون نصب کن کلیک و چند لحظه صبر کنید. وقتی که نصب کامل شد، با کلیک کردن روی عبارت فعال نمایید، پلاگین را فعال کنید. در صفحه افزونهها، با جستجوی Gmail SMTP وارد بخش تنظیمات شوید.
با کلیک روی کیفپول گوگل (Google wallet) به console.developers.google.com بروید و یک پروژه جدید ایجاد کنید. یک اسم برای پروژهی خود انتخاب کنید، به عنوان مثال Gmail SMTP. سپس روی دکمه ایجاد (Create) کلیک کنید.
حالا روی کیف پول گوگل، در خرید فوری کلیک کنید و پروژهای که ایجاد کردهاید را انتخاب کنید.
از منوی سمت چپ، Credential را انتخاب کنید. بر روی Create Credentials کلیک کنید و OAuth client ID را انتخاب کنید. در صفحهی بعد بر روی Configure consent screen کلیک و آن را ذخیره کنید.
در صفحهی بعد، Web application را انتخاب کنید و آن را Gmail SMTP نامگذاری کنید.
به داشبور وردپرس برگردید و پلاگین Gmail SMTP را انتخاب کنید. در تب اصلی، آدرس مجاز ریدایرکت خود را کپی کنید.
ID کاربر و client server را از قسمت OAuth client کپی و در تنظیمات پلاگین پیست کنید. سپس به پلاگین برگردید و آدرس ایمیلی را که با آن پروژه را ایجاد کردید و میخواهید به آن ایمیل فرستاده شود وارد کنید. در قسمت From هم همین آدرس ایمیل را وارد کنید
یک From Name انتخاب کنید. عبارت مربوطه را در صفحه پلاگین Gmail SMTP وارد کنید. حال، آدرس ایمیل مورد استفاده خود را در OAuth Email Address و From Email Address وارد کنید. نام مورد نظر را در From Name تایپ کنید.
در Type of Encryption، عبارت TLS را انتخاب کنید و 587 را جلوی عبارت SMTP Port وارد کنید.
نهایتا برای ذخیره تغییرات روی گزینه ذخیره تغییرات کلیک کنید. دکمه Grant Permission در پایین صفحه ظاهر میشود.
به پلاگین برگردید. اگر SMTP Status وضعیت اتصال (Connected) را نشان دهد مراحل نصب را به درستی انجام دادهاید.
پیکربندی MailGun SMTP در وردپرس
سرویس MailGun ، یک سرویس ارسال و دریافت ایمیل است که در درجه اول برای توسعهدهندگان ساخته شده بود. ولی دیگران هم میتوانند به سادگی از آن استفاده کنند. یک مزیت مهم این سرویس، امکان ارسال ۱۰هزار ایمیل در ماه به صورت رایگان است. برای کسب و کارهای کوچک و توسعهدهندگان وردپرس معمولا این مقدار بیش از نیاز آنها نیز است. برای ارسال ۵۰۰هزار ایمیل بعدی باید هزینه کوچکی بپردازید.
این سرویس می تواند مشکل عدم ارسال ایمیل توسط ووکامرس را حل کند.
پیکربندی MailGun در وردپرس زمان زیادی نمیگیرد. برای شروع ابتدا یک حساب رایگان در وب سایت Mailgun.com ایجاد کنید. به محض ورود، به شما پیشنهاد میکنیم احراز هویت دو مرحلهای (two-factor authentication) را فعال کنید.
در مرحله بعد دامنه خود را وارد کنید. برای این کار، به زبانه Domains بروید و بر روی Add New Domain کلیک کنید.
حال باید دامنه را برای تحویل ایمیل پیکربندی کنید. MailGun پیشنهاد میکند که یک زیردامنه مانند mg.mydomain.com انتخاب کنید.
برای اینکه ایمیل شما به سرویس MailGun وصل شود، باید DNS را اضافه کنید. شما میتوانید این کار را در سایت ثبتکننده دامنهتان یا یک توسعهدهنده DNS دیگر انجام دهید.
برای این کار به 2 رکورد TXT، 2 رکورد MX و یک CNAME نیاز دارید. پس از اینکه رکوردهای (Records) مربوط به DNS را وارد کردید، مدتی زمان برای انتشار آن نیاز است. اغلب این فرایند چند دقیقه طول میکشد ولی گاها ممکن است تا ۲۴ ساعت زمان لازم باشد.
استفاده از ابزار رایگان DNSMap این امکان را به شما میدهد که اتصال رکوردهای خود به مقادیر موردنظر MailGun را بررسی کنید. در پنل کنترل MailGun نیز میتوانید با کلیک بر روی Check DNS Records Now این موضوع را بررسی کنید. زمانی که تمام رکوردهای DNSها منتشر شوند، دامنه به حالت فعال (Active) درمیآید.
حالا باید در سایت خود پلاگین MailGun. را نصب و تنظیم کنید.
ابتدا Mailgun plugin را دانلود و نصب کنید. با جستجو در داشبورد وردپرس در بخش پلاگینها و کلیک بر روی Add New، پلاگین مورد نظر را دانلود کنید.
MailGun برای ارسال ایمیل از دو روش HTTP API و SMTP استفاده میکند. البته روش HTTP API فقط در نسخه رسمی پلاگین قابل دسترس است. روش HTTP API در مقایسه با SMTP سریعتر کار میکند و یک لایه حفاظتی اضافی دارد که امنیت سایت شما را بهبود میبخشد.
برای راه اندازی پلاگین، ابتدا به دامنه خود در Mailgun مراجعه کنید و کد API را کپی کنید. سپس به بخش تنظیمات در پلاگین Mailgun بروید. HTTP API را انتخاب کنید، نام دامنه Mailgun خود را وارد کنید. کد API را وارد کنید. در بخش From Address و From Name آدرسهای موردنظر را بنویسید و در پایان بر روی Save Changes کلیک کنید.
حال در بخش Test Configuration، با ارسال یک ایمیل تست از صحیح بودن تنظیمات و کارکرد مناسب پلاگین مطمئن شوید. از این پس تمام ایمیلهای وب سایت شما از طریق سرورهای پیامرسانی MailGun ارسال میشوند.
پیکربندی SendGrid SMTP در وردپرس
گزینه دیگری که میتوان از آن استفاده کرد، SendGrid است. این سرویس یک نسخه آزمایشی سی روزه برای ارسال ۴۰هزار ایمیل در اختیار شما قرار میدهد.
پس از اتمام نسخه آزمایشی میتوانید همچنان از این پلاگین برای ارسال ۱۰۰ ایمیل در روز استفاده کنید. در صورت داشتن کاربران بیشتر، نیازمند برنامههای ویژه این سرویس هستید که مستلزم پرداخت هزینه ماهیانه است.
این پلاگین، SMTP یا API را جایگزین تابع پیش فرض wp_mail() میکند. SendGrid برای ارسال ایمیل از دو روش Web API و SMTP استفاده میکند. Web API سریعتر است و قابلیت مدیریت لغو اشتراک کاربران، IPها و قالببندی ایمیلها را دارد.
برای استفاده از این سرویس برای ارسال ایمیلهایتان، ابتدا یک حساب کاربری در SendGrid.com بسازید و کد API برای خود ایجاد کنید.
ابتدا در نسخه سی روزه رایگان ثبت نام کنید. به محض ورود، به شما پیشنهاد میکنیم احراز هویت دو عاملی (two-factor authentication) را فعال کنید. این قابلیت را میتوانید در بخش Settings پیدا کنید.
در صفحه تنظیمات و در بخش API Keys، روی Create API Key کلیک کنید. برای API خود یک نام برگزینید، حالت Full Access را انتخاب کنید و روی Create & View کلیک کنید. کد API خود را کپی کنید و در یک جای امن ذخیره کنید. چون تنها یکبار نمایش داده میشود و برای پیکربندی پلاگین به این کد نیاز دارید.
پلاگین SendGrid از طریق داشبورد وردپرس، در بخش پلاگینها و در زیربخش Add New قابل دانلود است. پس از نصب پلاگین، در بخش Settings و سپس SendGrid، کد API خود را وارد کنید.
همچنین قسمت Name وSending Address باید با نامی که میخواهید به کاربران نمایش دهید و آدرس ارسالکننده ایمیل، پر شوند. سپس روی Update Settings کلیک کنید. حال با ارسال یک ایمیل تست از کارکرد صحیح این پلاگین اطمینان حاصل کنید.
روش احراز هویت به کار رفته در SendGrid احتمال تحویل صحیح ایمیل را بالاتر میبرد. در غیر اینصورت ممکن است ایمیل شما از پوشه اسپم سردربیاورد.
در داشبورد SendGrid، بر روی Settings و سپس Sender Authentication کلیک کنید. در بخش Domain Authentication، روی Get Started کلیک کنید.
حال DNS host که از آن استفاده میکنید را انتخاب کنید. دامنهای را که برای ارسال ایمیل از آن استفاده میکنید، وارد کنید. در ادامه نوع امنیت مورد نظر خود را انتخاب کنید. به یاد داشته باشید حالت پیش فرض و البته توصیه شده Use automated security است.
حال با فشردن Next، به صفحهای وارد میشوید که در آن باید رکوردهای DNS را وارد کنید تا ایمیل شما به SendGrid متصل شود. شما میتوانید این کار را در سایت ثبتکننده دامنه تان و یا یک توسعهدهنده DNS دیگر انجام دهید.
در اینجا به سه رکورد CNAME نیاز دارید. وقتی که رکوردها را وارد کردید، در کنار عبارت I’ve added these records تیک بزنید و روی Verify کلیک کنید. پس از اینکه رکوردهای (Records) مربوط به DNS را وارد کردید، مدتی زمان برای انتشار آن نیاز است.
اغلب این فرایند چند دقیقه طول میکشد ولی گاها ممکن است تا ۲۴ ساعت زمان لازم باشد. پس از دیدن پیام It worked، کار شما به پایان رسیده است.
پیکربندیSMTP PostMark در وردپرس
گزینه دیگری که برای رفع مشکل عدم ارسال ایمیل در وردپرس پیشنهاد میکنیم، استفاده از پلاگین PostMark است.
ابتدا یک حساب کاربری در آدرس https://postmarkapp.com بسازید. سپس در بخش Credentials، کد API را کپی کنید.
برای نصب پلاگین PostMark، به داشبورد وردپرس، بخش پلاگینها و سپس به افزودن مراجعه کنید. سپس با جستجوی عبارت Postmark Approved، پلاگین مورد نظر را دانلود و فعال کنید.
در بخش تنظیمات داشبورد وردپرس میتوانید عبارت PostMark را که پس از فعال شدن در این نوار ظاهر شده است، پیدا کنید. در این بخش با وارد کردن کد API و همچنین آدرس فرستنده مورد نظر خود و کلیک بر روی Save Changes، تغییرات را ذخیره کنید. در ادامه یک Test Email ارسال کنید تا ببینید که سرویس به درستی کار میکند. PostMark از روش SMTP برای ارسال ایمیل استفاده میکند. در ضمن باید تابع wp_mail() در وردپرس غیرفعال شود.
در این مقاله به دلایل عدم ارسال ایمیل در وردپرس و روشهای رفع آن پرداختیم. امیدواریم نکات این مقاله در رفع مشکل سرویس ووکامرس راهگشا باشد.
در نهایت باید اشاره کنیم که سرویسهای تراکنش ایمیل یا SMTP دیگر همچون SparkPost، Mailjet، Amazon SES و SendWP هم وجود دارند که ممکن است بخواهید از آنها استفاده کنید.