اولین باری که با یک پرونده پنهان مواجه شدم، کارفرما شکایت داشت که فرم تماس سایت هیچ پاسخی نمی‌دهد. بعد از دو ساعت بررسی، مشخص شد فرم به‌درستی کار می‌کند و ایمیل‌ها هم ارسال می‌شوند، اما در پوشه Spam گیر می‌کنند. این اتفاق، یک درس مهم به من داد: در وردپرس، مسئله ارسال ایمیل به‌تنهایی کافی نیست؛ مسئله رسیدن ایمیل است. اکثر پروژه‌ها از همان ابتدا با wp_mail پیش‌فرض کار می‌کنند و به این موضوع فکر نمی‌کنند که سرویس‌های ایمیل مدرن، به همان سادگی گذشته ایمیل قبول نمی‌کنند. تنظیمات ایمیل وردپرس، اگر درست انجام شود، یک بار است؛ اگر اشتباه انجام شود، ماه‌ها سایت و کسب‌وکار را درگیر می‌کند.

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

در تجربه‌ام از بازبینی صدها سایت وردپرسی، سه دلیل تکرارشونده پشت مشکل نرسیدن ایمیل‌ها وجود دارد. دلیل اول، تابع پیش‌فرض wp_mail است که از تابع mail() سرور استفاده می‌کند. این تابع، هیچ مکانیزم احراز هویتی برای فرستنده ندارد و سرویس‌های ایمیل مدرن مثل Gmail، Outlook و Yahoo، پیام‌های بدون احراز هویت را به‌راحتی در Spam می‌گذارند یا کاملاً رد می‌کنند. دلیل دوم، رکوردهای DNS نامناسب است. اگر دامنه شما SPF، DKIM و DMARC نداشته باشد، سرویس‌های ایمیل کوچک‌ترین تردیدی به مشروع بودن پیام‌ها ندارند. دلیل سوم، ارسال از IP آلوده است. در هاست‌های اشتراکی، اگر IP سرور شما در Blacklist باشد، حتی با SPF و DKIM درست هم پیام‌ها ممکن است مسدود شوند.

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

در دنیای ایمیل، ارسال پیام نصف کار است؛ قابل‌اعتماد بودن فرستنده، نیم دیگر و شاید نیم مهم‌تر.

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

پیش از ورود به جزئیات، بهتر است تصویر کلی را بسازیم. ارسال ایمیل در وردپرس، یک زنجیره پنج‌لایه است که هر لایه، نقشی مستقل ایفا می‌کند. لایه اول، فراخوانی تابع در وردپرس است؛ مثلاً یک افزونه فرم یا خود ووکامرس، wp_mail را صدا می‌زند. لایه دوم، مکانیزم انتقال است که به‌صورت پیش‌فرض mail() سرور است، اما می‌توان آن را با SMTP جایگزین کرد. لایه سوم، سرور ارسال است؛ یعنی جایی که پیام واقعاً از آن خارج می‌شود. لایه چهارم، احراز هویت دامنه است که با رکوردهای SPF و DKIM در DNS تعریف می‌شود. لایه پنجم، سیاست DMARC است که به سرویس‌های دریافت‌کننده می‌گوید با پیام‌های جعلی چه‌کار کنند.

مشکلات ایمیل معمولاً در لایه سوم یا چهارم رخ می‌دهند، در حالی که اکثر تلاش‌ها برای حل مشکل در لایه اول یا دوم انجام می‌شود. یعنی کاربر افزونه SMTP نصب می‌کند، اما رکورد SPF را تنظیم نمی‌کند. اگر با معماری هاست و دامنه آشنایی ندارید، هاست چیست و چگونه انتخاب کنیم بخشی از این تصویر را روشن می‌کند. اما برای ایمیل، باید لایه دیگری هم در نظر بگیریم که در ادامه به آن می‌رسیم.

wp_mail: نقطه شروع و محدودیت‌هایش

wp_mail تابع استاندارد وردپرس برای ارسال ایمیل است. اگر با ساختار افزونه‌ها آشنا نیستید، افزونه وردپرس چیست و چگونه انتخاب کنیم توضیح می‌دهد که چطور افزونه‌ها از این تابع استفاده می‌کنند. تابع wp_mail مزیت‌هایی دارد: از فیلترهای وردپرس پشتیبانی می‌کند، امکان تعریف نوع محتوا (HTML یا متن) دارد و با هوک‌های مختلف قابل شخصی‌سازی است.

مکانیزم پیش‌فرض ارسال

به‌صورت پیش‌فرض، wp_mail از تابع PHP به نام mail() استفاده می‌کند. این تابع، پیام را به MTA (Mail Transfer Agent) سرور محلی تحویل می‌دهد و از آنجا پیام به سرویس مقصد می‌رود. مشکل اصلی اینجاست که در اکثر هاست‌های اشتراکی، MTA سرور برای ارسال حجم زیاد ایمیل طراحی نشده و پیام‌ها با تأخیر یا بدون احراز هویت ارسال می‌شوند. سرویس‌های گیرنده نیز امروز بررسی دقیق‌تری روی فرستنده دارند.

محدودیت‌های ذاتی mail()

mail() چهار محدودیت جدی دارد. اول، هیچ احراز هویتی برای فرستنده ندارد؛ پیام‌های ارسالی از این طریق، در سرویس‌های گیرنده به‌عنوان فرستنده مشکوک تلقی می‌شوند. دوم، خطاها به‌صورت صریح گزارش نمی‌شوند؛ یعنی وقتی پیام در صف گیر می‌کند، شما اطلاعی ندارید. سوم، پشتیبانی از SMTP AUTH (احراز هویت) ندارد که امروز از الزامات اکثر سرویس‌های ایمیل است. چهارم، در هاست‌های اشتراکی، ارسال انبوه ایمیل معمولاً محدود شده است و پیام‌ها بدون اطلاع کاربر، بی‌صدا حذف می‌شوند.

همین چهار محدودیت است که باعث می‌شود تنظیم SMTP برای هر سایت وردپرسی جدی، ضروری باشد. اگر سایت شما فرم تماس دارد یا فروشگاه ووکامرس دارد، این تنظیم دیگر اختیاری نیست.

SMTP: چرا و چگونه جایگزین wp_mail می‌شود؟

SMTP (Simple Mail Transfer Protocol) پروتکل استاندارد ارسال ایمیل است که امکان احراز هویت فرستنده، تعریف سرور ارسال اختصاصی و لاگ دقیق‌تر پیام‌ها را فراهم می‌کند. مکانیزم دقیق این پروتکل در وب به‌عنوان SMTP مستند شده است. توضیح کامل‌تر نقش SMTP در سایت‌ها را در SMTP و ارسال ایمیل از وب‌سایت ارائه کرده‌ام.

سه گزینه برای پیکربندی SMTP

سه راه برای جایگزین کردن wp_mail با SMTP وجود دارد. راه اول، استفاده از SMTP سرویس ایمیل هاست است؛ یعنی همان ایمیلی که روی هاست خودتان ساختید. این راه، سریع و رایگان است، اما محدودیت ارسال روزانه دارد و در برخی سرویس‌ها، IP سرور اشتراکی از قبل با اعتبار پایین همراه است. راه دوم، استفاده از سرویس‌های ایمیل تراکنشی اختصاصی مثل SendGrid، Mailgun یا Postmark است. این سرویس‌ها IP اختصاصی یا خوش‌اعتبار دارند و تحویل پیام‌ها بالای ۹۵ درصد است. راه سوم، استفاده از SMTP سرویس‌های ایمیل سازمانی مثل Gmail یا Microsoft 365 است که برای حجم کم و سایت‌های شرکتی مناسب است.

پیکربندی اتصال

در پیکربندی SMTP، چهار پارامتر کلیدی وجود دارد: Host، Port، Encryption و Authentication. برای اکثر سرویس‌ها، پورت‌های 465 با رمزنگاری SSL و 587 با رمزنگاری TLS بهترین گزینه‌ها هستند. پورت 25 تقریباً در همه‌جای دنیا مسدود است و توصیه نمی‌شود. در احراز هویت، معمولاً از نام کاربری و رمز عبور استفاده می‌شود؛ اما در برخی سرویس‌ها، از API Key به‌عنوان رمز استفاده می‌شود که امن‌تر است. یک نکته امنیتی مهم: رمز یا API Key را در wp-config.php یا متغیرهای محیطی نگه دارید، نه در فایل‌های عمومی قالب. راهنمای امن‌سازی wp-config در چگونه فایل wp-config را امن کنیم آمده است.

SMTP بدون احراز هویت دامنه، مثل نامه‌ای است که پاکت آن بدون مهر رسمی به دست گیرنده می‌رسد؛ باز می‌شود، ولی با تردید.

انتخاب افزونه SMTP و پیکربندی اصولی

افزونه‌های SMTP زیادی وجود دارند که هرکدام رویکرد متفاوتی دارند. افزونه‌هایی مثل WP Mail SMTP، Fluent SMTP و Post SMTP محبوب‌ترین‌ها هستند. تفاوت‌های اصلی بین آن‌ها در سه محور است: پشتیبانی از سرویس‌ها، داشبورد لاگ و قابلیت ارسال از چند اتصال مختلف.

افزونه WP Mail SMTP برای مبتدیان ساده‌تر است و ویزارد پیکربندی خوبی دارد. افزونه Fluent SMTP برای کسانی که چند سایت مدیریت می‌کنند و می‌خواهند چند اتصال SMTP را همزمان داشته باشند، گزینه بهتری است. افزونه Post SMTP روی لاگ دقیق‌تر و قابلیت تشخیص سریع مشکلات تمرکز دارد. انتخاب من معمولاً بین این سه است و انتخاب نهایی، به نیاز پروژه بستگی دارد.

گزینه‌های امنیتی مهم

در پیکربندی افزونه SMTP، سه گزینه امنیتی را حتماً فعال کنید. اول، ذخیره‌سازی رمز به‌صورت رمزنگاری‌شده. دوم، قابلیت Force From Email که باعث می‌شود همه ایمیل‌ها با آدرس دامنه شما ارسال شوند، نه آدرس پیش‌فرض سرویس. سوم، فعال بودن بازگشت خطای صریح در حالت تست، برای اینکه سریع‌تر بفهمید چه چیزی اشتباه است.

تنظیم آدرس فرستنده

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

احراز هویت دامنه: SPF، DKIM، DMARC

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

SPF: تعیین سرورهای مجاز ارسال

SPF (Sender Policy Framework) یک رکورد TXT در DNS است که فهرست سرورهای مجاز برای ارسال ایمیل از دامنه شما را مشخص می‌کند. توضیح کامل این استاندارد در SPF چیست و چگونه از جعل ایمیل جلوگیری می‌کند آمده است. رکورد SPF باید شامل سرور SMTP فعلی شما باشد. اگر سرویس SMTP را عوض می‌کنید، حتماً رکورد SPF را به‌روز کنید. تجربه‌ام این است که در نود درصد موارد، فراموشی همین به‌روزرسانی، باعث افت شدید تحویل ایمیل می‌شود.

DKIM: امضای دیجیتال پیام

DKIM (DomainKeys Identified Mail) با یک کلید رمزنگاری، امضای دیجیتالی به پیام‌ها اضافه می‌کند که سرور گیرنده می‌تواند اعتبار آن را بررسی کند. پیاده‌سازی DKIM در سمت سرور ارسال انجام می‌شود و سرویس SMTP معمولاً کلید عمومی را برای شما تولید می‌کند که باید در DNS ثبت کنید. جزئیات پیاده‌سازی را در DKIM و امضای دیجیتال ایمیل‌ها و پیاده‌سازی DKIM در سرور ایمیل بررسی کرده‌ام.

DMARC: سیاست پاسخ به پیام‌های مشکوک

DMARC (Domain-based Message Authentication) سیاستی است که به سرور گیرنده می‌گوید با پیام‌هایی که SPF و DKIM آن‌ها معتبر نیست چه رفتاری داشته باشد: رد کند، در قرنطینه بگذارد یا نادیده بگیرد. DMARC همچنین گزارش‌هایی برای شما ارسال می‌کند که در آن می‌توانید ببینید چه کسانی از دامنه شما ایمیل ارسال می‌کنند. راهنمای کامل این استاندارد در DMARC چیست و چگونه امنیت ایمیل را تقویت می‌کند و نحوه راه‌اندازی در راه‌اندازی DMARC گام‌به‌گام آمده است. توصیه من: از سیاست p=none شروع کنید، گزارش‌ها را برای دو هفته بررسی کنید و پس از اطمینان از درستی تنظیمات، به p=quarantine و سپس p=reject بروید.

رکورد MX و زیرساخت ایمیل دامنه

رکورد MX (Mail Exchange) تعیین می‌کند ایمیل‌های ورودی دامنه شما به کدام سرور می‌روند. اگر ایمیلی مثل info@example.com دارید که به آن ایمیل می‌فرستند و می‌خواهید پاسخ‌ها به صندوق شما بیاید، رکورد MX باید درست تنظیم شده باشد. جزئیات تنظیم این رکورد در MX Record و تنظیمات ایمیل دامنه و راه‌اندازی ایمیل سازمانی در راه‌اندازی ایمیل سازمانی با هاست آمده است. توجه کنید که MX برای ایمیل‌های ورودی است و SPF برای خروجی؛ این دو مستقل از هم تنظیم می‌شوند.

ایمیل‌های تراکنشی ووکامرس

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

فهرست ایمیل‌های ووکامرس

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

پیکربندی SMTP برای ووکامرس

ووکامرس از همان تابع wp_mail استفاده می‌کند، پس هر SMTP که برای وردپرس پیکربندی کرده‌اید، برای ووکامرس هم کار می‌کند. اما توصیه می‌کنم در فروشگاه‌ها، SMTP را با سرویس تراکنشی اختصاصی راه‌اندازی کنید و آدرس فرستنده را با نام برند تنظیم کنید. هیچ‌چیز بدتر از این نیست که ایمیل سفارش، از یک آدرس عمومی مثل wordpress@site.com ارسال شود؛ این آدرس، اعتماد مشتری را پایین می‌آورد. اگر ایمیل‌های سفارش ووکامرس به‌درستی ارسال نمی‌شوند، رفع خطای ارسال ایمیل سفارش در ووکامرس ترتیب درست عیب‌یابی را نشان می‌دهد. به‌طور کلی، پیکربندی ایمیل ووکامرس را با ساختار ووکامرس خود هماهنگ کنید که در ووکامرس چیست و چگونه فروشگاه بسازیم توضیح داده شده است.

ارسال تأخیری و زمان‌بندی

در سایت‌هایی که ترافیک بالا دارند و حجم سفارش زیاد است، اگر SMTP به‌صورت هم‌زمانی (Sync) ایمیل ارسال کند، هر سفارش ممکن است چند ثانیه به‌دلیل انتظار برای پاسخ SMTP کند بماند. راه‌حل حرفه‌ای این است که ارسال ایمیل به‌صورت صف (Queue) انجام شود. برخی افزونه‌های SMTP این قابلیت را دارند و ارسال را با تأخیر انجام می‌دهند. تفاوت این دو مکانیزم، در سرعت تسویه‌حساب فروشگاه بسیار محسوس است.

شخصی‌سازی قالب و هویت بصری ایمیل‌ها

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

مکانیزم Override قالب‌های ایمیل

ووکامرس قالب‌های ایمیل خود را از مسیر woocommerce/templates/emails/ می‌خواند. برای شخصی‌سازی، این فایل‌ها را به چایلد تم خود منتقل کنید و در پوشه yourtheme/woocommerce/emails/ قرار دهید. این کار باعث می‌شود در به‌روزرسانی ووکامرس، شخصی‌سازی شما از دست نرود. اگر با مفهوم چایلد تم آشنا نیستید، توسعه وردپرس با Child Theme توضیح می‌دهد چرا و چگونه از آن استفاده کنیم.

پیش‌نمایش و تست در چند سرویس

پیش از انتشار، قالب ایمیل را در چند سرویس ایمیل تست کنید: Gmail، Outlook، Yahoo Mail و یک سرویس موبایل. هر سرویس، روش متفاوتی برای رندر CSS دارد و ممکن است قالب شما در یکی درست و در دیگری ناقص نمایش داده شود. راه‌حل حرفه‌ای این است که از CSS Inline استفاده کنید، چون بخشی از سرویس‌ها فایل‌های CSS خارجی را نمی‌خوانند. این نکته را در همان مقاله چایلد تم توضیح داده‌ام اما برای تأکید بیشتر، در تمام پروژه‌های ووکامرس، قالب ایمیل را حتماً در چند سرویس تست می‌کنم.

ایمیل تراکنشی، بعد از تجربه سایت، دومین نقطه تماس مشتری با برند شماست؛ این نقطه را جدی بگیرید.

لاگ ایمیل و پایش ارسال

یکی از بزرگ‌ترین مشکلات در عیب‌یابی ایمیل وردپرس، نبود لاگ است. اگر یک پیام ارسال نشود، بدون لاگ، شما حتی نمی‌دانید کدام پیام ارسال نشده و در چه مرحله‌ای شکسته است. دو رویکرد برای لاگ‌گیری وجود دارد.

رویکرد اول: لاگ در دیتابیس

برخی افزونه‌های SMTP، لاگ را در دیتابیس وردپرس ذخیره می‌کنند. این رویکرد سریع است اما در سایت‌های پربازدید، می‌تواند به‌سرعت دیتابیس را سنگین کند. اگر این رویکرد را انتخاب می‌کنید، حتماً برای لاگ‌ها یک سیاست پاک‌سازی تعریف کنید (مثلاً فقط ۳۰ روز گذشته نگه داشته شود). راهنمای کلی پاک‌سازی دیتابیس در چگونه دیتابیس وردپرس را پاک‌سازی کنیم آمده است.

رویکرد دوم: لاگ در سرور

در سایت‌های پربازدید، لاگ در فایل‌های سرور انتخاب بهتری است. سرویس‌های تراکنشی مثل SendGrid و Mailgun، داشبورد تحلیلی خوبی دارند که در آن می‌توانید وضعیت هر پیام را (Delivered، Bounced، Opened، Clicked) ببینید. این داشبوردها، ابزار اصلی من برای عیب‌یابی و پایش تحویل هستند. اما نگاهی هم به لاگ ایمیل هاست مفید است؛ اگر هاست شما پنل مدیریت ایمیل دارد، لاگ ارسال را در آن پیدا می‌کنید.

پایش آدرس‌های Bounce

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

تست تحویل و عیب‌یابی

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

ابزارهای تست تحویل

ابزارهایی مثل Mail Tester و MXToolbox، به شما کمک می‌کنند بفهمید رکوردهای SPF، DKIM و DMARC درست تنظیم شده‌اند یا نه. این ابزارها امتیاز ۱۰ از ۱۰ می‌دهند اگر تنظیمات کامل باشد. اگر امتیاز کمتر از ۸ دیدید، احتمالاً یکی از رکوردها اشتباه تنظیم شده یا آدرس Bounce وجود ندارد. تجربه من این است که اکثر سایت‌ها بین ۵ تا ۷ امتیاز می‌گیرند و رفع این شکاف، تحویل ایمیل را از ۷۰ درصد به بالای ۹۵ درصد می‌رساند.

عیب‌یابی گام‌به‌گام

اگر پس از پیکربندی، ایمیل‌ها هنوز نمی‌رسند، ترتیب عیب‌یابی این است. اول، تست wp_mail با ارسال یک ایمیل ساده از پیشخوان. اگر این ایمیل رسید، یعنی مشکل در افزونه فرم یا ووکامرس است، نه SMTP. دوم، بررسی لاگ SMTP برای دیدن خطاهای اتصال. سوم، بررسی لاگ هاست برای خطاهای MTA. چهارم، بررسی DNS برای رکوردهای SPF، DKIM و DMARC. پنجم، بررسی Blacklist بودن IP سرور با ابزارهای آنلاین. راهنمای کامل عیب‌یابی در رفع خطای ارسال ایمیل در وردپرس و رفع مشکلات SMTP در وردپرس آمده است.

یک نکته کاربردی: اگر می‌خواهید بدانید مشکل کجاست، از تست ایمیل به آدرس‌های مختلف استفاده کنید. اگر ایمیل به Gmail می‌رسد ولی به سرویس ایمیل ایرانی نمی‌رسد، مشکل در سمت گیرنده است. اگر به هیچ‌کدام نمی‌رسد، مشکل در سمت فرستنده است.

خطاهای پرهزینه در پیکربندی ایمیل

در بازبینی صدها سایت، پنج خطای پیکربندی ایمیل بیشترین تکرار را داشته‌اند.

خطا پیامد اصلاح
رها کردن wp_mail پیش‌فرض افتادن ایمیل‌ها در Spam پیکربندی SMTP با سرویس معتبر
عدم تنظیم SPF و DKIM رد شدن پیام‌ها توسط سرویس‌های معتبر تنظیم رکوردهای DNS دامنه
آدرس فرستنده از دامنه متفاوت با SMTP افت اعتبار فرستنده هماهنگ کردن آدرس فرستنده با دامنه SMTP
نبود آدرس Bounce افزایش نرخ Spam در بلندمدت تنظیم آدرس Bounce از همان دامنه
نداشتن سیاست پاک‌سازی لاگ سنگین شدن دیتابیس حذف خودکار لاگ‌های قدیمی‌تر از ۳۰ روز

یک نکته اضافی از تجربه: پیش از هر تغییر در پیکربندی SMTP یا DNS، بکاپ بگیرید. تغییرات در این لایه، گاهی منجر به قطع کامل ایمیل می‌شود و بازگشت به وضعیت قبل، بدون بکاپ، سخت می‌شود. راهنمای بکاپ در پشتیبان‌گیری از سایت چیست و چرا ضروری است و چگونه از وردپرس بکاپ بگیریم آمده است.

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

پرسش‌هایی که در جلسات مشاوره و پشتیبانی مرتب تکرار می‌شوند، معمولاً حول تصمیم‌های عملی می‌چرخند.

آیا نصب افزونه SMTP برای رسیدن ایمیل‌ها کافی است؟

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

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

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

آیا استفاده از SMTP سرویس ایمیل داخلی ایرانی امن است؟

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

چطور بفهمم مشکل از SMTP است یا از سرور گیرنده؟

ایمیل تستی از پیشخوان وردپرس به سه آدرس مختلف ارسال کنید: یکی Gmail، یکی Yahoo، یکی سرویس داخلی. اگر به Gmail می‌رسد ولی به داخلی نمی‌رسد، مشکل سمت گیرنده است. اگر به هیچ‌کدام نمی‌رسد، مشکل سمت فرستنده یا SMTP است. اگر به همه می‌رسد ولی فرم تماس یا ووکامرس کار نمی‌کند، مشکل در افزونه آن بخش است.

آیا لازم است DKIM را حتماً تنظیم کنم؟

بله، برای سایت‌هایی که اهمیت تحویل دارند، DKIM از الزامات است. بدون DKIM، پیام‌ها ممکن است در سرویس‌های گیرنده‌ای مثل Gmail که حساسیت بالایی دارند، به Spam بروند. تنظیم DKIM یک کار نیم‌ساعته است که اثر بلندمدت بزرگی دارد.

چرا برخی ایمیل‌ها با تأخیر چند دقیقه‌ای می‌رسند؟

تأخیر معمولاً از دو جا می‌آید. اول، SMTP سرویس گیرنده، که ممکن است در ساعات پرباری کندتر شود. دوم، مکانیزم صف در سایت شما؛ اگر ارسال به‌صورت Queue انجام می‌شود و cron وردپرس دیر اجرا می‌شود، پیام‌ها با تأخیر ارسال می‌شوند. حل این مشکل با تنظیم cron سرور به‌جای wp-cron امکان‌پذیر است. جزئیات در رفع مشکلات کرون در وردپرس آمده است.

آیا استفاده از SMTP چند سرویس به‌طور همزمان توصیه می‌شود؟

بله، در سایت‌های بزرگ که یک سرویس SMTP نمی‌تواند همه ایمیل‌ها را پوشش بدهد، استفاده از چند اتصال SMTP توصیه می‌شود. مثلاً ایمیل‌های فرم تماس با یک سرویس و ایمیل‌های ووکامرس با سرویس دیگری ارسال شوند. افزونه‌هایی مثل Fluent SMTP این قابلیت را دارند. اما در سایت‌های کوچک، یک SMTP مطمئن کافی است.

آیا ایمیل‌های وردپرس باید از همان دامنه سایت باشند؟

بله، این توصیه جدی است. ایمیل از یک دامنه رایگان مثل Gmail یا Yahoo، اعتماد سرویس گیرنده را کاهش می‌دهد و احتمال اسپم شدن را بالا می‌برد. آدرس فرستنده باید از دامنه‌ای باشد که SPF و DKIM آن تنظیم شده است.

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

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

سه اصلی که در همه پروژه‌ها رعایت می‌کنم: ابتدا از همان روز اول SMTP با سرویس معتبر راه‌اندازی کنید، نه در روزهای بحران. دوم، رکوردهای SPF، DKIM و DMARC را از همان ابتدا تنظیم کنید؛ این سرمایه‌گذاری نیم‌ساعته، اثر بلندمدت بزرگی دارد. سوم، پیش از انتشار سایت، تحویل ایمیل را در چند سرویس مختلف تست کنید و لاگ‌گیری را فعال نگه دارید. ترکیب این سه اصل، بخش بزرگی از مشکلات ایمیل را از پایه حل می‌کند.

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