SHET22

حل مشکل عدم ارسال ایمیل در وردپرس و اسپم شدن ایمیل‌ها

حل مشکل عدم ارسال ایمیل در وردپرس و اسپم شدن ایمیل‌ها

وقتی ایمیل بازیابی رمز عبور، اعلان سفارش ووکامرس یا پیام فرم تماس به مقصد نمی‌رسه، ممکنه اول به خود فرم یا فروشگاه شک کنید. ولی مشکل همیشه از اون بخش نیست. وردپرس به‌طور پیش‌فرض ایمیل‌ها رو با تابع ایمیل سرور می‌فرسته و خیلی از سرویس‌های میزبانی برای این روش محدودیت دارن. بعضی وقت‌ها هم پیام ارسال می‌شه، ولی سرویس گیرنده نمی‌تونه هویت فرستنده رو درست تأیید کنه و ایمیل سر از پوشه Spam درمیاره.

توی این آموزش سراغ افزونه رایگان Easy WP SMTP می‌ریم. اول افزونه رو نصب می‌کنیم، بعد روش مناسب ارسال رو انتخاب می‌کنیم و در پایان یک ایمیل آزمایشی می‌فرستیم. تنظیم درست SMTP می‌تونه احتمال تحویل ایمیل رو خیلی بیشتر کنه، ولی تضمینی نیست که هیچ پیامی وارد پوشه اسپم نشه.

چرا ایمیل‌های وردپرس ارسال نمی‌شن؟

وردپرس پیام‌هایی مثل لینک بازیابی رمز، اعلان ثبت کاربر تازه و بعضی ایمیل‌های افزونه‌ها رو با تابع wp_mail() آماده می‌کنه. این تابع به‌خودی‌خود سرویس ارسال ایمیل نیست و برای تحویل پیام به تنظیمات سرور تکیه می‌کنه.

اگه سرور اجازه ارسال نده، آدرس فرستنده با دامنه سایت هماهنگ نباشه یا اطلاعات ورود کامل نباشه، احتمال داره پیام اصلاً ارسال نشه. گاهی هم وردپرس تحویل پیام به سرور رو موفق تشخیص می‌ده، ولی ایمیل کمی بعد رد می‌شه یا داخل پوشه Spam قرار می‌گیره.

آیا خود وردپرس تنظیمات SMTP داره؟

نه. خود وردپرس ابزار داخلی برای واردکردن میزبان، پورت، نام کاربری و رمز SMTP نداره. SMTP روشی هست که سایت با کمک اون ایمیل رو از طریق یک سرور معتبر تحویل می‌ده. برای اضافه‌کردن این قابلیت باید از افزونه، تنظیمات هاست یا کدنویسی اختصاصی کمک بگیرید.

اگه تازه شروع کردید، افزونه رایگان Easy WP SMTP مسیر ساده‌تری جلوی پاتون می‌ذاره. نسخه رایگان این افزونه برای راه‌اندازی اتصال SMTP، فرستادن ایمیل آزمایشی و دیدن اطلاعات پایه عیب‌یابی به کارتون میاد.

حل مشکل ارسال ایمیل با افزونه رایگان Easy WP SMTP

قبل از شروع، اطلاعات سرویس ایمیلتون رو آماده کنید. اگه از ایمیل دامنه مثل info@example.com استفاده می‌کنید، میزبان SMTP، پورت، نوع رمزگذاری و اطلاعات ورود رو از شرکت هاست بگیرید. این اطلاعات بین شرکت‌های مختلف یکسان نیستن.

نصب افزونه Easy WP SMTP

از پیشخوان وردپرس به «افزونه‌ها ← افزودن افزونه تازه» برید. Easy WP SMTP رو جست‌وجو کنید، افزونه‌ای با همین نام رو نصب کنید و بعد روی دکمه فعال‌سازی بزنید.

نصب افزونه Easy WP SMTP
نصب افزونه Easy WP SMTP

اجرای راه‌انداز افزونه

بعد از فعال‌سازی، راه‌انداز Easy WP SMTP رو باز کنید. این راه‌انداز قدم‌به‌قدم ازتون می‌پرسه که دوست دارید ایمیل‌های سایت با کدوم سرویس فرستاده بشن. اگه راه‌انداز خودکار باز نشد، از منوی Easy WP SMTP وارد بخش تنظیمات بشید.

انتخاب روش ارسال ایمیل

افزونه چند Mailer بهتون نشون می‌ده. Mailer همون سرویس یا روشی هست که ایمیل رو واقعاً از سایت خارج می‌کنه. اگه سرویس موردنظرتون اتصال اختصاصی داخل افزونه داره، بهتره همون گزینه رو انتخاب کنید. اتصال اختصاصی معمولاً از واردکردن رمز داخل وردپرس امن‌تره.

اگه از ایمیل هاست یا سرویسی استفاده می‌کنید که گزینه اختصاصی نداره، Other SMTP رو انتخاب کنید. این روش به اطلاعات سرور ایمیل نیاز داره و مشخصات ورود رو داخل تنظیمات وردپرس ذخیره می‌کنه. پس بهتره از یک رمز جدا و قوی استفاده کنید و دسترسی مدیران سایت رو محدود نگه دارید.

انتخاب روش ارسال ایمیل
انتخاب روش ارسال ایمیل

اتصال جیمیل به وردپرس

اگه قصد دارید از جیمیل استفاده کنید، اتصال اختصاصی Gmail یا Google رو در اولویت بذارید. این روش از ورود امن گوگل کمک می‌گیره و لازم نیست رمز اصلی حسابتون رو داخل وردپرس بنویسید. بعضی قابلیت‌ها یا روش‌های ساده‌تر اتصال ممکنه فقط در نسخه پولی افزونه در دسترس باشن؛ پس قبل از ادامه، توضیح کنار Mailer رو بخونید.

اگه اتصال اختصاصی برای نسخه رایگان یا نوع حسابتون در دسترس نبود، می‌تونید Other SMTP رو همراه با رمز برنامه گوگل به کار ببرید. برای ساخت رمز برنامه باید تأیید دومرحله‌ای حساب گوگل روشن باشه. یادتون نره رمز اصلی جیمیل رو داخل فیلد SMTP Password ننویسید. گوگل هم برای برنامه‌هایی که از ورود مستقیم پشتیبانی نمی‌کنن، روش استفاده از App Password یا رمز برنامه رو توضیح داده.

حساب‌های سازمانی Google Workspace ممکنه محدودیت‌های مدیریتی بیشتری داشته باشن. گوگل برای این حساب‌ها روش ورود با نام کاربری و رمز معمولی رو قبول نمی‌کنه و روش‌های مبتنی بر OAuth رو پیشنهاد می‌ده. پس اگه مدیر سازمان گزینه رمز برنامه رو بسته، باید از اتصال مورد تأیید مدیر یا یک سرویس ارسال دیگه کمک بگیرید.

تنظیم Other SMTP

تنظیم Other SMTP
تنظیم Other SMTP

بعد از انتخاب Other SMTP، فیلدها رو با اطلاعات واقعی سرویس ایمیلتون پر کنید:

  • SMTP Host: آدرس سرور خروجی ایمیل هست. برای جیمیل باید smtp.gmail.com رو وارد کنید، نه smtp.google.com.
  • Encryption: نوع رمزگذاری اتصال رو مشخص می‌کنه و باید با تنظیمات سرویس ایمیلتون هماهنگ باشه.
  • SMTP Port: جیمیل برای اتصال رمزگذاری‌شده معمولاً پورت ۴۶۵ با SSL یا پورت ۵۸۷ با TLS/STARTTLS رو معرفی می‌کنه. اگه از سرویس دیگه‌ای استفاده می‌کنید، همون عددی رو وارد کنید که سرویس بهتون داده.
  • Authentication: احراز هویت رو روشن کنید تا سرور حساب فرستنده رو بشناسه.
  • SMTP Username: این مقدار معمولاً آدرس کامل ایمیل مثل info@example.com هست.
  • SMTP Password: رمز صندوق ایمیل یا رمز برنامه‌ای هست که سرویس بهتون داده. برای جیمیل از رمز اصلی حسابتون استفاده نکنید.
  • From Email: آدرسی هست که گیرنده به‌عنوان فرستنده می‌بینه. بهتره این آدرس با حسابی که از طریق اون وارد SMTP شدید یکی باشه.
  • From Name: نام سایت یا کسب‌وکارتون رو بنویسید؛ مثلاً «میهن وردپرس».
General Settings
General Settings

گزینه Force From Email اجازه نمی‌ده افزونه‌های دیگه آدرس متفاوتی رو به‌عنوان فرستنده انتخاب کنن. این گزینه معمولاً جلوی ناهماهنگی فرستنده رو می‌گیره، ولی فقط وقتی روشنش کنید که همه ایمیل‌های سایت باید از یک آدرس فرستاده بشن. Auto TLS رو هم روشن نگه دارید، مگر اینکه سرویس ایمیلتون صریحاً تنظیم دیگه‌ای بهتون داده باشه.

حالا تنظیمات رو ذخیره کنید. اطلاعات رسمی میزبان و پورت جیمیل رو هم می‌تونید در راهنمای ارسال ایمیل گوگل ببینید.

ارسال ایمیل آزمایشی

از منوی Easy WP SMTP وارد Tools و بعد Email Test بشید. یک آدرس ایمیل در دسترس بنویسید و ایمیل آزمایشی رو بفرستید. بهتره گیرنده روی دامنه‌ای متفاوت از فرستنده باشه؛ مثلاً اگه فرستنده ایمیل دامنه سایت هست، پیام رو به جیمیل خودتون بفرستید.

ابزار فرستادن ایمیل آزمایشی در افزونه Easy WP SMTP
ابزار فرستادن ایمیل آزمایشی در افزونه Easy WP SMTP

بعد از دیدن پیام موفقیت، هم صندوق ورودی و هم پوشه Spam رو بررسی کنید. موفقیت داخل افزونه فقط نشون می‌ده که درخواست ارسال بدون خطای فوری به سرویس تحویل داده شده. این پیام به‌تنهایی تضمین نمی‌کنه که ایمیل حتماً وارد Inbox بشه.

بررسی خطاهای ارسال ایمیل

اگه تست ناموفق بود، اول نام میزبان، پورت، نوع رمزگذاری و نام کاربری رو یک بار دیگه بررسی کنید. اشتباه در یکی از همین موارد برای قطع اتصال کافیه. اگه از جیمیل استفاده می‌کنید، مطمئن بشید رمز برنامه رو به‌جای رمز اصلی وارد کردید.

بعد به بخش Debug Events افزونه برید. Debug Events یعنی گزارش اتفاق‌هایی که می‌تونن سرنخ خطا رو بهتون بدن. متن خطا ممکنه به رمز اشتباه، بسته‌بودن پورت، مشکل گواهی امنیتی یا ردشدن آدرس فرستنده اشاره کنه.

اگه خطا درباره اتصال یا Timeout بود، متنش رو برای پشتیبانی هاست بفرستید و ازشون درباره بازبودن پورت SMTP بپرسید. اگه ایمیل آزمایشی به مقصد می‌رسه ولی پیام یک فرم خاص ارسال نمی‌شه، تنظیمات همون فرم و آدرس گیرنده رو هم بررسی کنید.

چطور جلوی اسپم شدن ایمیل‌های وردپرس رو بگیریم؟

تنظیم درست SMTP شانس تحویل ایمیل رو بیشتر می‌کنه، ولی افزونه به‌تنهایی پوشه مقصد رو تعیین نمی‌کنه. سرویس گیرنده سابقه دامنه، محتوای پیام و روش تأیید هویت فرستنده رو هم زیر نظر می‌گیره.

  1. از ایمیل دامنه خودتون استفاده کنید: آدرسی مثل info@example.com معمولاً برای ایمیل‌های سایت انتخاب حرفه‌ای‌تری نسبت به یک حساب شخصی هست.
  2. From Email رو هماهنگ نگه دارید: بهتره آدرس فرستنده با حساب SMTP و دامنه‌ای که اجازه ارسال داره یکسان باشه.
  3. SPF رو تنظیم کنید: SPF یک رکورد DNS هست که مشخص می‌کنه کدوم سرورها اجازه دارن از طرف دامنه شما ایمیل بفرستن.
  4. DKIM رو فعال کنید: DKIM یک امضای دیجیتال به ایمیل اضافه می‌کنه تا سرویس گیرنده بتونه هویت دامنه و دست‌کاری‌نشدن پیام رو بررسی کنه.
  5. DMARC رو بعد از SPF و DKIM اضافه کنید: DMARC به سرویس گیرنده می‌گه با پیام‌هایی که تأیید هویت نمی‌شن چطور برخورد کنه. تنظیم عجولانه و خیلی سخت‌گیرانه ممکنه ایمیل‌های سالم رو هم رد کنه، پس برای انتخاب مقدار درست از سرویس ایمیل یا پشتیبانی هاست کمک بگیرید.
  6. ایمیل‌های ناخواسته نفرستید: عنوان‌های فریبنده، لینک‌های مشکوک و ارسال انبوه بدون رضایت کاربر می‌تونن اعتبار دامنه رو پایین بیارن.

رکوردهای SPF، DKIM و DMARC داخل بخش DNS دامنه تنظیم می‌شن و مقدار دقیقشون به سرویس ارسال شما بستگی داره. پس مقدار مربوط به سرویس دیگه‌ای رو کپی نکنید. اگه به DNS دسترسی ندارید، اطلاعاتی رو که سرویس ایمیل بهتون داده برای پشتیبانی هاست بفرستید.

جمع‌بندی

برای حل مشکل عدم ارسال ایمیل در وردپرس، افزونه رایگان Easy WP SMTP رو نصب کنید و سایتتون رو به یک سرویس ارسال معتبر وصل کنید. اگه از جیمیل کمک می‌گیرید، اتصال امن گوگل یا رمز برنامه انتخاب بهتری نسبت به رمز اصلی حساب هست. بعد از ذخیره تنظیمات هم حتماً یک ایمیل آزمایشی بفرستید و پوشه Spam رو ببینید.

اگه ایمیل ارسال می‌شه ولی هنوز به پوشه اسپم می‌ره، تنظیم SMTP فقط بخش اول کاره. هماهنگی آدرس فرستنده و تنظیم درست SPF، DKIM و DMARC هم روی اعتبار ایمیل‌های دامنه اثر می‌ذارن.

آیا خود وردپرس تنظیمات SMTP داره؟

نه، وردپرس به‌صورت پیش‌فرض صفحه‌ای برای واردکردن میزبان، پورت و اطلاعات SMTP نداره. برای این کار می‌تونید از افزونه رایگان Easy WP SMTP، امکانات هاست یا کدنویسی اختصاصی کمک بگیرید.

می‌تونیم رمز اصلی جیمیل رو داخل افزونه وارد کنیم؟

بهتره این کار رو نکنید. برای اتصال دستی جیمیل باید تأیید دومرحله‌ای رو روشن کنید و از رمز برنامه کمک بگیرید. اگه اتصال اختصاصی گوگل در دسترس بود، اون روش انتخاب امن‌تریه.

آیا SMTP جلوی اسپم شدن ایمیل رو می‌گیره؟

تنظیم درست SMTP شانس رسیدن ایمیل رو بیشتر می‌کنه، ولی ورود پیام به Inbox رو تضمین نمی‌کنه. هماهنگی آدرس فرستنده، اعتبار دامنه، محتوای ایمیل و رکوردهای SPF، DKIM و DMARC هم مهم هستن.

برای SMTP باید از پورت ۴۶۵ استفاده کنیم یا ۵۸۷؟

این انتخاب به سرویس ایمیلتون بستگی داره. جیمیل معمولاً پورت ۴۶۵ رو برای SSL و پورت ۵۸۷ رو برای TLS یا STARTTLS معرفی می‌کنه. برای سرویس‌های دیگه، تنظیمات رسمی همون سرویس رو بررسی کنید.

نظر شما در این مورد چیه؟

  1. U418835۲۶ شهریور ۱۴۰۵

    خوشحالم که در مسیر طراحی سایت با آقای رضا حسینی راد و سایت پرمحتواشون آشنا شده ام / تقدیر و تشکر فراوان دارم از تک تک اعضای تلاشگر تیم میهن وردپرس / دعای خیر من نثار شما عزیزان

    • رضا راد۲۸ شهریور ۱۴۰۵

      سپاس از شما و محبت دلگرم‌کننده‌تون. خوشحالیم که در مسیر طراحی سایت همراه شما هستیم و آرزوی موفقیت‌های روزافزون براتون داریم.

  2. U336714۲۰ دی ۱۴۰۲

    سلام این ارور میدهد
    SMTP ERROR: Failed to connect to server: php_network_getaddresses: getaddrinfo for smtp.sarshartrade.com failed: Name or service not known (0)SMTP Error: Could not connect to SMTP host. Failed to connect to server

    • رضا راد۲۱ دی ۱۴۰۲

      سلام اطلاعات سرور smtp اشتباه هست.

  3. U318854۱۸ شهریور ۱۴۰۲

    باسلام. این خطارو میده
    یک خطای مهم در این وب سایت وجود داشت. لطفاً صندوق ایمیل مدیر سایت را برای دستورالعمل بررسی نمایید.

  4. U321242۲۴ فروردین ۱۴۰۲

    این خطا رو میده
    Versions:
    WordPress: 6.2
    WordPress MS: No
    PHP: 7.4.33
    Easy WP SMTP: 2.1.0

    Params:
    Mailer: smtp
    Constants: No
    ErrorInfo: SMTP Error: Could not connect to SMTP host. Failed to connect to serverSMTP server error: Failed to connect to server Additional SMTP info: php_network_getaddresses: getaddrinfo failed: Name or service not known
    Host: smtp.school-janbaz.ir
    Port: 465
    SMTPSecure: ssl
    SMTPAutoTLS: bool(true)
    SMTPAuth: bool(true)

    Server:
    OpenSSL: OpenSSL 1.1.1f 31 Mar 2020
    Apache.mod_security: No

    Debug:
    Email Source: Easy WP SMTP
    Mailer: Other SMTP
    SMTP Error: Could not connect to SMTP host. Failed to connect to serverSMTP server error: Failed to connect to server Additional SMTP info: php_network_getaddresses: getaddrinfo failed: Name or service not known

    SMTP Debug:
    2023-04-13 07:00:01 Connection: opening to ssl://smtp.school-janbaz.ir:465, timeout=30, options=array()

    2023-04-13 07:00:01 Connection failed. Error #2: stream_socket_client(): php_network_getaddresses: getaddrinfo failed: Name or service not known [/home/schoolja/public_html/wp-includes/PHPMailer/SMTP.php line 389]

    2023-04-13 07:00:01 Connection failed. Error #2: stream_socket_client(): unable to connect to ssl://smtp.school-janbaz.ir:465 (php_network_getaddresses: getaddrinfo failed: Name or service not known) [/home/schoolja/public_html/wp-includes/PHPMailer/SMTP.php line 389]

    2023-04-13 07:00:01 SMTP ERROR: Failed to connect to server: php_network_getaddresses: getaddrinfo failed: Name or service not known (0)

    SMTP Error: Could not connect to SMTP host. Failed to connect to server

    • رضا راد۶ اردیبهشت ۱۴۰۲

      سلام مشکل smtp دارید با هاستینگ در ارتباط باشید

  5. U40856۱ تیر ۱۴۰۰

    سلام
    میخوام آدرس ایمیل مدیریت سایت رو تغییر بدم , ایمیل رو وارد میکنم و بعد ذخیره کردن پیغام نمایش میده ک درخواست تغییر ایمیل مدیر برای شما ارسال شد.
    ولی ایمیلی دریافت نمیکنم
    از چند تا ایمیل هم استفاده کردم ولی جواب نگرفتم
    ممنون میشم راهنمای فرمایید.

    • تیم پشتیبانیتیم پشتیبانی۱ تیر ۱۴۰۰

      درود
      اسپم رو چک کردید؟؟

  6. کاربر مهمان۲۶ بهمن ۱۳۹۷

    سلام
    ببخشید تو این افزونه رمز جی میل وارد می کنیم از نظر امنیتی ایرادی به هم نمی زنه به نحوی که دسترسی به جی میل فراهم بشه؟
    یا اینکه جی میل هک بشه؟

    • رضا راد۲۷ بهمن ۱۳۹۷

      درود خیر موقع دسترسی گرفتن از گوگل اعلام می‌کنه که به چه چیزهایی دسترسی خواهد داشت.

  7. کاربر مهمان۲۸ شهریور ۱۳۹۷

    با سلام
    ایا این افزونه برای EDD هم سازکار هست پس از فروش فایل میشه لینک های دانلود را با استفاده ازهمین افزونه برای کاربر ارسال کرد
    با تشکر

    • رضا راد۲۸ شهریور ۱۳۹۷

      درود بله تمام ایمیل های وردپرس رو با این ارسال میکنه

  8. کاربر مهمان۲۸ شهریور ۱۳۹۷

    سلام…

    من افزونه را نصب کردم اما هنوز ایمیل ها به پوشه اسپم ارسال میشن !

    • رضا راد۲۸ شهریور ۱۳۹۷

      تنظیمات رو درست انجام بدید.

  9. کاربر مهمان۲۸ شهریور ۱۳۹۷

    عالی بود…

پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرس
پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرسآنلاین و پاسخگوی شما هستیم.آنلاین

در حال بارگذاری...

هر سوالی دارید بپرسید.پاسخگوی شما هستیم.