برای استفاده بهتر از سایت، به حساب تون وارد بشید
ارسال نشدن ایمیل وردپرس، یکی از موردهایی ئه که خیلی از وبمسترها و وبسایتها، باهاش مشکل دارن. به هر حال، با اداره کردن وبسایت مون، ما داریم یه کسبوکار اینترنتی رو اداره میکنیم و خب، یه جورایی میشه گفت که کارکرد یه کسبوکار اینترنتی، به ایمیل، گره خورده. چون خیلی از اعلانها و خبرهای وبسایت ما، به صورت ایمیل، به کاربرها مون ارسال میشه و اونها رو در جریان میذاریم.
یه برتری و مزیتی که کسبوکارهای اینترنتی دارن، این ئه که ما میتونیم سادهتر از بقیهی انواع کسبوکارهای دیگه، کار مون رو سیستمسازی کنیم. این مسئله توی وبسایت مون، یعنی این که خیلی از ایمیلها، به صورت خودکار ارسال میشه و ما به عنوان یه وبمستر یا مدیر اون وبسایت، اصلاً در جریان ارسال اون ایمیلها نیستیم. برای همین، اگر سیستم ارسال ایمیل مون، دچار مشکل بشه، حتماً ضرر میکنیم و اون موقعست که با نارضایتی کاربرها مون روبرو میشیم؛ کاربری که شاید روزها و ماهها داریم تلاش میکنیم که اون رو جذب کنیم و یه مشکل در ارسال نشدن ایمیل وردپرس، همهی کارهای ما رو خراب میکنه.
فرض کنید که مثلاً شما یه فروشگاه اینترنتی دارید که از ووکامرس استفاده میکنه؛ خب، ووکامرس، خیلی از ایمیلها رو به طور خودکار به کاربرها و مشتریهای ما ارسال میکنه. مثلاً زمانی که اون کاربر، سفارش اش رو ثبت کرد یا زمانی که اون محصول، موجود شد، از طریق ایمیل، به کاربر مد نظر مون، خبر داده میشه.
البته خبررسانی از طریق ایمیل، فقط به افزونهها مربوط نمیشه و خود وردپرس هم در پایهای ترین فعالیتها اش، از ایمیل استفاده میکنه. مثلاً وقتی که کاربر ما توی وبسایت ما ثبت نام میکنه، ایمیلی براش ارسال میشه و یا وقتی که یکی از کاربرهای ما، رمز عبور اش رو فراموش کرده، باز هم از طریق ارسال ایمیل، میتونه رمز اش رو بازیابی کنه.
در کل، کارکرد ایمیل، توی وبسایت و یه کسبوکار اینترنتی، خیلی زیاد ئه. مثلاً شاید شما توی وبسایت تون، از افزونههای فرم تماس (Contact Form 7) یا Gravity Forms یا WP Forms برای صفحهی «تماس با ما» تون استفاده کرده باشید که کاربرها تون از اون طریق، باهاتون در ارتباط باشن و خب، با ارسال نشدن ایمیل وردپرس، نه کاربر تون میتونه براتون، پیامی رو بفرسته و نه شما پیام کاربر تون رو دریافت میکنید و نه کاربری میتونه توی وبسایت شما، ثبت نام کنه و خریدی انجام میده و این یعنی یه فاجعه برای یه کسبوکار اینترنتی که سیستم خبررسانی اون بر اساس ایمیل ئه.
برای همین و به خاطر اهمیت ارسال ایمیلها، اولین موضوعی که توی کارنتا بلاگ میخوام بررسی کنم، همین موضوع ارسال نشدن ایمیل در وردپرس ئه. توی این نوشته، میخوایم بدونیم که چرا ایمیلهای وردپرس و ووکامرس، ارسال نمیشن؟ و چی کار کنیم که دیگه خیال تون از بابت ارسال شدن ایمیلها راحت باشه؟ البته این رو هم باید بگم که این مشکل، فقط مشکل شما نیست و خیلیها باهاش درگیر اند ولی نمیدونن که چطور باید اون رو حل کنن! برای همین، من توی این نوشته، میخوام که این موضوع رو یه بار برای همیشه، تموم کنم. پس، با دقت، این نوشته رو تا انتها بخونید.
توجه داشته باشید که افزونههایی که توی آموزشها بهتون معرفی میکنم، ممکن ئه که هم از نظر کارایی و هم از نظر ظاهری، دچار تغییر بشن و حتی ممکن ئه که برای یه کار، چند تا افزونه وجود داشته باشه که افزونههای معرفی شده توسط من، کارایی کمتری نسبت به بقیه داشته باشن. برای همین، لطفاً اگر به این موردها برخورد کردید، در پایین آموزشها، دیدگاه بذارید تا اونها رو بررسی کنم. ممنون.
البته اگر من اسم «ووکامرس» رو توی عنوان بالا آوردم، به خاطر این نیست که فقط میخوام مشکل ارسال ایمیل در ووکامرس رو بررسی کنم. بلکه توی این نوشته از کارنِتا بلاگ، دربارهی مشکل اصلی ارسال نشدن ایمیل وردپرس، صحبت بکنیم؛ ولی خب، چون دوستهای زیادی هستن که برای فروشگاه اینترنتی شون، از ووکامرس استفاده میکنن، یه خرده از تمرکز مون رو هم به ووکامرس اختصاص میدیم. وگرنه با راهکارهایی که توی این نوشته بهتون میگم، دیگه مشکل ارسال نشدن ایمیل رو برای هیچ افزونهای نخواهید داشت و این مشکل، به طور کلی، حل میشه.
حالا سوال اصلی ما توی این بخش، این ئه که چرا ایمیلهای وردپرس ارسال نمیشه؟ شاید باور نکنید؛ ولی بخش بزرگی از این مشکل، به سرور و هاست وبسایت شما برمیگرده. زمانی که سرور شما برای استفاده از تابع ()mail به خوبی، پیکربندی و تنظیم نشده باشه، شما با مشکل عدم ارسال ایمیل در وردپرس روبرو میشید؛ چون همون جور که میدونید، وردپرس برای ارسال ایمیل از تابع ()mail یا ()wp_mail در زبان php استفاده میکنه که اگر تنظیم نباشه یا فعال نباشه، ایمیلهای ما ارسال نمیشه. البته خود هاستها هم استفاده از تابع ()mail رو محدود میکنن؛ چون سوء استفاده از اون، کار سادهای ئه.
ولی خب، گاهی پیش میآد که اون تابع مشکلی نداره و ایمیلهای وردپرس، ارسال میشه؛ ولی اسپم میشه و توسط سرویسدهندههای ایمیل (مثل جیمیل و…) توی پوشهی هرزنامه قرار میگیره که در اون صورت، به ما اعلانی (Notification) داده نمیشه که اون رو بفهمیم. گاهی هم پیش میآد که ایمیل ما به کاربر ارسال میشه؛ ولی اون کاربر، اون رو دریافت نمیکنه؛ یعنی حتی توی پوشهی هرزنامه (Spam) هم دیده نمیشه. برای همین ئه که نباید از وردپرس برای ارسال خبرنامهها استفاده کنیم.
بنابراین، دربارهی ارسال ایمیلها توسط وردپرس، در واقع، ما سه تا مشکل داریم:
حالا که مشکلهای اصلی ارسال ایمیل رو شناختیم، باید بدونیم که چرا اون ایمیلها مون ارسال نمیشه و اون بلاها سر شون میآد؟ ببینید؛ در کل، ارسال نشدن ایمیل در وردپرس، معمولاً میتونه به یکی از این دلیلها باشه:
همون جور که می بینید، خیلی از دلیلها به هاست و سرور وبسایت ما بر میگرده. برای همین، زمانی که ایمیلها تون ارسال نمیشن، اولین پیشنهادی که من میتونم بکنم این ئه که با پشتیبانی شرکتی که هاست یا سرور تون رو از اون جا تهیه کرده اید، ارتباط بگیرید تا مشکل تون رو بررسی کنن و اون رو براتون رفع کنن.
ولی اگر میخواید که این مشکل رو ریشهکن کنید و دیگه اون رو نداشته باشید، بهتون به شدت پیشنهاد میکنم که از یه سرویس ایمیل SMTP استفاده کنید. حالا شاید بپرسید که SMTP چی ئه؟ و چرا باید برای حل مشکل ارسال نشدن ایمیلها در وردپرس و اسپم نشدن ایمیلهای وردپرس، از SMTP استفاده کنیم؟
SMTP مخفف کلمههای Simple Mail Transfer Protocol ئه که یعنی پروتکل سادهی انتقال ایمیل. SMTP برعکس تابع mail() در PHP، از احراز هویت مناسبی استفاده میکنه که قابلیت ارسال ایمیل رو افزایش میده.
سرویسهای SMTP مختلفی وجود داره که ما میتونیم ازشون استفاده (مثل Gmail، MailGun ، MailChimp و…) که خب، یه سری از اونها رایگان اند و یه سری دیگه شون، پولی. حتی سرور و هاست اشتراکی وبسایت شما هم سرویس SMTP داره که شما میتونید از اون استفاده کنید که من توی این نوشته، میخوام روش استفاده از چند تا از اونها رو بهتون معرفی کنم.
حالا اگر ما مثلاً از سرویس SMTP جیمیل برای ارسال ایمیلها مون استفاده کنیم، به جای این که ایمیلها مون با ایمیلی مثل wordpress@site.com ارسال بشه، با ایمیل اکانت جیمیل مون ارسال میشه (مثل kantecom@gmail.com). در واقع، یه سرویس SMTP یه ایمیل واسطهست که ما ایمیلها مون رو با اون، ارسال میکنیم؛ یعنی وبسایت ما (وردپرس) به اون سرویس، درخواست میده و اون سرویس هم ایمیل مد نظر ما رو به طور خودکار ارسال میکنه.
حالا شاید سوال تون این باشه که «اگر از یه سرویس SMTP استفاده کنیم، دیگه ایمیلها مون، اسپم و هرزنامه نمیشه؟». ببینید؛ درست ئه که استفاده از سرویسهای SMTP، مطمئنتر ئه؛ ولی باز هم احتمال داره که ایمیلها تون اسپم بشه؛ اما اگر موردهای مربوط به ارسال ایمیل رو که منجر به اسپم شناخته شدن میشن رعایت کنید، درصد اسپم شدن ایمیل تون، خیلی کمتر میشه.
در کل، برای استفاده از سرویس SMTP، میشه سه تا سرویس رو پیشنهاد داد؛ البته این رو هم باید بگم که سرویسهای زیادی برای این کار هستن که شاید هر سال هم، به تعداد شون اضافه بشه؛ ولی خب، روش استفاده از اونها تقریباً یکسان ئه. باید توی اونها، یه حساب کاربری بسازید و اگر نیازی به پرداخت هست، پرداخت تون رو انجام بدید و یه کد API یا یه رمز ازشون بگیرید و بعد، با تنظیم کردن اونها روی وبسایت تون (از طریق افزونههای عمومی یا اختصاصی ارسال ایمیل)، دیگه همهی ایمیلهای وبسایت (چه ایمیلهای خود وردپرس و چه ایمیلهای افزونهها – مثل ووکامرس)، از طریق اون سرویس SMTP ارسال میشه.
اون سه تا سرویس SMTP، اینها هستن که برای یادگیری هر کدوم از اونها، میتونید روی لینک آموزش هر کدوم شون، کلیک کنید:
ارسال ایمیل با میزبانی یا هاست ایمیل هم مثل ارسال با ایمیل هاست اصلی وبسایت تون ئه و همون تنظیمات رو داره و تنها فرق اش این ئه که شما برای ارسال ایمیلها تون از یه سروری استفاده میکنید که مخصوص ارسال ایمیل ئه و چون مخصوص ارسال ایمیل ئه، تواناییها و ویژگیهای خوبی رو به ما میده که من میخوام در حد چند کلمه، بهشون اشاره کنم. ولی قبل از گفتن اون ویژگیها، بهتون پیشنهاد میکنم که اگر تعداد ارسالهای روزانهی ایمیل بالایی دارید، حتماً از یه هاست ایمیل استفاده کنید. البته برای این که خیال مون از ارسال ایمیلها مون تا 99 درصد راحت باشه، من پیشنهاد میکنم که حتی وبسایتهایی که تازهکار هم هستن ولی در حال رشد اند و برنامه دارن، از هاستهای ایمیل استفاده کنن. ولی بریم سراغ اون چند تا ویژگی خوب یه هاست ایمیل:
1- اولین ویژگی خوب هاستهای ایمیل، این ئه که تقریباً اون محدودیتهای هاستهای اشتراکی و سرور رو ندارن. یه هاست ایمیل معمولی، بهتون این اجازه میده که توی هر روز بتونید 1200 تا ایمیل ارسال کنید که خب، این محدودیت توی هاستهای اشتراکی، مثلاً روی 100 تا 200 تا ئه. البته سرعت ارسال و دریافت ایمیلها هم بیشتر میشه و علاوه بر سرعت، ایمیلها رو به طور درست و کامل، دریافت میکنیم؛ نه ناقص.
2- دومین ویژگی خوب هاستهای ایمیل، سیستم ضد اسپم پیشرفتهی اونها ئه؛ هم از این نظر که احتمال کمتری هست که ایمیلهای ارسالی به کاربر، اسپم بشه و هم این که ایمیل ما رو از دریافت ایمیلهای اسپم و هرزنامهها جلوگیری میکنه. چون اگر حساب ایمیلی ما مورد حملهی ایمیلهای اسپم قرار بگیره و هیچ سیستم ضد اسپمی نداشته باشه، میتونن اون رو از کار بندازن و از دسترس خارج بشه.
3- سومین ویژگی، به استفاده از Firewallهای سختافزای و نرمافزاری مربوط میشه که باعث میشه حساب ایمیلی ما در برابر حملهها مقاومت داشته باشه و فایلهای ویروسی و مخرب رو دریافت نکنه.
4- چهارمین ویژگی، به Uptime اون، مربوط میشه. خوبی این ویژگی این ئه که در دسترس بودن هاست ایمیل، هیچ ربطی به در دسترس بودن هاست اصلی وبسایت ما نداره؛ یعنی حتی وبسایت ما در دسترس نباشه، سرویس ایمیل ما قطع نمی شه و کار خودش رو انجام میده.
5- ویژگی پنجم هم این ئه که ما میتونیم توی هاستهای ایمیل، چند تا اکانت ایمیل (Email Account) داشته باشیم و تعیین کنیم که هر کدوم از اونها، چقدر محدودیت ارسال ایمیل در روز داشته باشن؟ مثلاً اکانت info@karneta.com 200 تا در روز و اکانت sale@karneta.com 300 تا در روز. البته علاوه بر این، فضایی که برای ذخیرهسازی ایمیلها داریم، بیشتر هم هست. درست ئه که ایمیلها، معمولاً حجم زیادی ندارن؛ ولی اگر ایمیلهای ما شامل فایلهای پیوست باشه، حجم شون بالا میره.
6- ششمین ویژگی هم به قابلیت Catch All برمیگرده. با این قابلیت، ما میتونیم یه اکانت ایمیل بسازیم برای این که اگر ایمیلهایی به آدرس اشتباهی تحت دامنهی ما ارسال بشه (مثلاً به support@karneta.com ارسال بشه؛ در حالی که ما اون اکانت رو نداریم)، اون ایمیلها به اون اکانت مون وارد بشه و ما ایمیلی رو از دست ندیم؛ وگرنه اگر توی هاست ایمیل ما، این قابلیت رو فعال نکنیم، برای فرستندههای اون ایمیلها، پیام عدم تحویل ایمیل (Delivery Failure) ارسال میشه.
گروه کارنتا علاوه بر آموزش راهاندازی و مدیریت یه کسبوکار اینترنتی، در اجرا هم به کسبوکارهای اینترنتی کمک میکنه. مثلاً اگر شما در شهرستان قرچک هستید، میتونید از خدمات مربوط به طراحی سایت در قرچک استفاده کنید. البته در شهرستانهای دیگه هم خدمات میدیم؛ مانند طراحی سایت در پاکدشت، طراحی سایت در فردیس، طراحی سایت در ملارد، طراحی سایت در اندیشه، طراحی سایت در شهریار، طراحی سایت در شهرری، طراحی سایت در ورامین
از اون جایی که قرار شد یه خرده از تمرکز مون رو برای بررسی ووکامرس بذاریم، دو تا مورد هست که توی ووکامرس، اونها رو هم بررسی کنید که دیگه به مشکل ارسال ایمیل در ووکامرس برخورد نکنید:
بعضی وقتها، عدم ارسال ایمیل در ووکامرس، به تنظیمات در افزونهی ووکامرس یا سازگار نبودن ووکامرس با نسخههای HHVM، PHP یا مورد های دیگه، مربوط میشه. برای همین، وارد پیشخوان وردپرس بشید و از منوی سمت راست و گزینهی ووکامرس، گزینهی «پیکربندی» رو انتخاب کنید.
حالا روی زبانهی «ایمیلها» کلیک کنید و مطمئن بشید که گزینههای «نام ارسالکننده» و «آدرس ارسالکننده»، درست باشن. توی فیلد «نام ارسالکننده»، باید همون نامی رو بنویسید که میخویاد مشتریهای شما، هنگام دریافت ایمیل، اون رو ببینن. توی این بخش از کاراکترهای خاص (مثل @/.&-) استفاده نکنید و فقط از حرفهای مجاز و معمولی استفاده کنید. توی فیلد «آدرس ارسالکننده» هم بررسی کنید که آیا آدرس درستی برای ارسال ایمیلها وارد شده؟ اون آدرس ایمیل، همون آدرسی ئه که شما ایمیلها تون رو با اون، ارسال میکنید.
این مورد رو من تا حالا بهش برخورد نکردم؛ ولی خب، یه جا دیدم و فکر کردم که این مورد رو هم بگم. پس، خودتون تست کنید؛ شاید براتون جواب داد.
گاهی پیش میآد که مشکل ارسال نشدن ایمیلهای ووکامرس، یکطرفه باشه؛ یعنی این که کاربرهای شما، ایمیلهای مربطو به سفارشها و فعالیتهای خودشون رو دریافت میکنن؛ ولی شما (به عنوان مدیر سایت) ایمیلی رو مثلاً از ووکامرس دریافت نمیکنید.
بعضی از همکارها میگن که این مشکل، به این دلیل ئه که آدرس گیرندهی ایمیل و فرستندهی ایمیل، نباید با یه دامنهی یکسان باشه؛ چون این کار، باعث ارسال نشدن ایمیلها در ووکامرس میشه. مثلاً اگر آدرس فرستنده، info@karneta.com باشه و ایمیل گیرنده هم support@karneta.com باشه، هر دو تای اینها با یه دامنهی یکسان (karneta.com) هستن. برای همین، برای ایمیل گیرنده تون مثلاً سعی کنید که از یه حساب Gmail استفاده کنید.
خب، ما تا این جا، همهی اون راهکارهای مهم رو بررسی کردیم که باعث حل مشکل ارسال نشدن ایمیل وردپرس میشدن؛ ولی خب، به نظر ام اومد که ما باید چند تا چیز دیگه رو هم بدونیم که روی حل این مشکل، تسلط بیشتری داشته باشیم. یکی از اون موردها، این ئه که چطور میتونیم یه ایمیل تست و آزمایشی برای خودمون ارسال کنیم که بفهمیم آیا ایمیلهای وردپرس، ارسال میشن یا نه؟
توی موردهای بالا که شما رو به چند تا آموزش دیگه ارجاع دادم (ارسال با SMTP)، افزونههایی رو معرفی کرده ام که خودشون امکان ارسال ایمیل تست رو دارن؛ ولی خب، برای زمانی که شما نخواید از اون افزونهها استفاده کنید، یه افزونهای هست به اسم Check Email plugin که باهاش ما میتونیم مطمئن بشیم که آیا ایمیلهای ما، ارسال میشن یا نه.
استفاده از این افزونه، خیلی سادهست؛ به قسمت افزودن از گزینهی «افزونهها» و عبارت موجود در تصویر رو سرچ کنید و بعد، افزونه رو نصب کنید و بعد، اون رو فعال کنید.
بعد از این کارها گزینهی «Check Email» به گزینهی «ابزارها» اضافه میشه. اون رو انتخاب کنید و در فیلد Send a test email، آدرس ایمیلی که میخواید به اون، ایمیل تست تون رو بفرستید، بنویسید و در آخر، روی دکمهی Send test email کلیک کنید.
حالا به اون آدرس ایمیل برید و همه جا (حتی بخش Spam) رو بررسی کنید. اگر ایمیل تست رو دریافت کرده باشید، یعنی وردپرس برای ارسال ایمیل، به درستی کار میکنه و اگر مثلاً توی ارسال ایمیلهای ووکامرس، مشکل دارید، باید توی جای دیگهای دنبال ایراد باشید. مثلاً مشکل میتونه از پیکربندی نادرست افزونهی مد نظر شما یا ناسازگاری افزونهها با هم باشه. این کار، یکی از اولین کارها ئه که ما باید انجام بدیم تا ببینیم که مشکل ارسال نشدن ایمیل وردپرس، از کجا ئه؟
یکی دیگه از اون موردهایی که باید بدونیم و نیاز بود که دربارهی ارسال ایمیلها در وردپرس بهتون بگم، این ئه که ما باید بدونیم که از طرف وبسایت ما برای چه کسی و چه زمانی، یه ایمیل ارسال شده؛ یعنی ما باید یه گزارش داشته باشیم که بهمون ایمیلهای ارسالی رو نشون بده و هیچ فرقی هم نمیکنه که شما از چه سرویسی برای ارسال ایمیلها تون استفاده میکنید، خوشبختانه ما میتونیم با یه افزونه، اون گزارش ایمیلهای ارسالی رو توی پیشخوان وردپرس ببینیم. اگر میخواید که این مورد رو هم بدونید، به آموزش «مشاهده گزارش ایمیلهای ارسالی» تشریف ببرید. توی اون آموزش، چند تا افزونه رو برای این کار، معرفی کرده ام کرده ام.
حالا توی بحث ارسال ایمیلها در وردپرس، مشکل دیگهای که یه عده دوستها دارن، این ئه که وقتی دارن روی لوکال هاست، کار میکنن، ایمیلها شون ارسال نمیشه. هدف ما از کار کردن روی لوکال هاست، این ئه که بتونیم توی اون جا به طور کامل، وبسایت مد نظر مون رو با همهی تنظیمات اش آماده کنیم و بعد، اون رو به هاست یا سرور واقعی، منتقل کنیم و خب، حتماً برامون اهمیت داره که ایمیلهای ارسالی رو هم بررسی کنیم. برای همین، مهم ئه که ایمیلها مون ارسال بشن تا ما ایرادها رو ببینیم و رفع کنیم؛ ولی خب، توی بعضی از برنامههای لوکال هاست (مانند زمپ – XAMPP) مشکل ارسال نشدن ایمیل وردپرس رو داریم که من، این مورد رو هم توی آموزش «رفع مشکل ارسال ایمیل در لوکال هاست» توضیح داده ام. اگر شما هم این مشکل رو دارید، حتماً اون آموزش رو بررسی کنید.
شک نکنید که من برای تکتک محتواهای کارنتا زمان میذارم تا بتونم چیزهای درستی رو بهتون آموزش بدم؛ چون آموزشهای سطحی و پراکنده، به درد هیچ کسی نمیخوره و آدم رو بیشتر گمراه میکنه. اگر شما هم محتواهای من رو دوست دارید و براتون مفید بوده، میتونید با انتخاب یکی از گزینههای زیر، من رو مهمان کنید:
سلام خسته نباشید
ببخشید من یک سوالی از خدمتتون دارم
چرا در فرم ورود و عضویت ووکامرس وقتی برای بازیابی رمز عبور اقدام میکنم هیچ ایمیلی دریافت نمیشه؟
پیام ارسال نوشته میشه ولی عملا هیچ ایمیلی فرستاده نمیشه
ممنونم
سلام. این مشکل از سمت هاست (سرور) شما میتونه باشه و البته میتونه از سمت خود سایت شما باشه. مثلاً افزونههایی رو نصب کردهاید که در ارسال ایمیل اختلال ایجاد میکنه یا حتی میتونه از سمت قابل سایت تون باشه. این که جوری کدنویسی شده که توی ارسال ایمیلها اختلال ایجاد میکنه. ممنون