
فهرست مطالب
وقتی فرم تماس سایت ایمیل نمیفرستد، معمولاً مشکل از خود فرم نیست؛ وردپرس بهطور پیشفرض با تابع mail() سرور ایمیل میفرستد که در بسیاری از هاستها محدود یا مسدود است، یا ایمیلها به خاطر نبود احراز هویت دامنه در اسپم میافتند. راهحل استاندارد این است که ارسال را از طریق SMTP یک سرویس ایمیل معتبر انجام دهید و رکوردهای SPF و DKIM دامنه را تنظیم کنید.
نویسنده: تیم siloow (سیلو سولوشن) — آخرین بهروزرسانی: آبان ۱۴۰۵
چرا این اتفاق میافتد؟
- هاست تابع mail() را برای جلوگیری از اسپم محدود یا غیرفعال کرده است.
- ایمیل از آدرسی مثل wordpress@دامنه ارسال میشود که صندوق واقعی ندارد و احراز هویت نشده است.
- رکوردهای SPF، DKIM و DMARC دامنه تنظیم نشدهاند و سرویسگیرنده ایمیل را اسپم میداند.
- آدرس گیرنده در تنظیمات فرم اشتباه است یا فرم فقط پیام را در پیشخوان ذخیره میکند.
- افزونه امنیتی یا کپچا ارسال را قبل از رسیدن به مرحله ایمیل متوقف میکند.
چه کار کنیم؟
قبل از هر تغییری از فایلها و دیتابیس سایت بکاپ کامل بگیرید؛ بعد این مراحل را به ترتیب جلو بروید:
- اول پوشه اسپم را بررسی کنید و تنظیمات گیرنده فرم را چک کنید.
- یک افزونه SMTP معتبر (مثل WP Mail SMTP یا FluentSMTP) نصب کنید و آن را به ایمیل دامنه خودتان یا یک سرویس ارسال ایمیل وصل کنید.
- آدرس فرستنده (From) را یک ایمیل واقعی روی همان دامنه سایت بگذارید.
- در DNS دامنه رکوردهای SPF و DKIM را طبق راهنمای سرویس ایمیل اضافه کنید و یک رکورد DMARC ساده بسازید.
- با ابزار ارسال ایمیل آزمایشی افزونه SMTP تست کنید و گزارش خطا را بخوانید.
- فرم را با یک ایمیل تست پر کنید و فعال کردن ذخیره پیامها در پیشخوان را هم برای اطمینان در نظر بگیرید.

| نشانه | علت محتمل | اصلاح |
|---|---|---|
| هیچ ایمیلی نمیرسد | mail() مسدود در هاست | ارسال با SMTP |
| ایمیل در اسپم است | نبود SPF و DKIM | تنظیم رکوردهای DNS |
| ارسال آزمایشی موفق، فرم ناموفق | تنظیمات گیرنده یا کپچا | بررسی تنظیمات فرم |
| گاهی میرسد، گاهی نه | محدودیت تعداد ارسال هاست | سرویس ارسال ایمیل اختصاصی |
نکته: رمز عبور ایمیل یا کلید API سرویس ایمیل را فقط در تنظیمات افزونه SMTP وارد کنید و در اختیار افراد ناشناس نگذارید. اگر تعداد پیامهای فرم کم است، فعال کردن ذخیره پیامها در دیتابیس یا اعلان پیامکی کنار ایمیل، ریسک گم شدن مشتری را کم میکند.
نحوه کار تابع ارسال ایمیل وردپرس در مرجع wp_mail در WordPress.org آمده است. اگر ایمیلها میرسند ولی در اسپم، ایمیلهای سایت میرود تو اسپم و برای نگاه کلیتر چرا سایتم مشتری نمیاره را ببینید.
کی بهتر است از متخصص کمک بگیرید؟
اگر به DNS دامنه دسترسی ندارید، سایت ایمیلهای زیادی مثل فاکتور و اعلان سفارش میفرستد، یا بعد از تنظیم SMTP هنوز ایمیلها نمیرسند، تنظیم توسط متخصص مطمئنتر است؛ هر پیام گمشده میتواند یک مشتری از دست رفته باشد.
اگر فرم تماس سایت شما پیامها را نمیرساند، فرم تماس siloow را پر کنید؛ همکاران ما در اولین فرصت تماس میگیرند و ارسال ایمیل سایت را بررسی میکنند.
سوالات متداول
چرا فرم تماس پیام موفقیت نشان میدهد ولی ایمیلی نمیرسد؟
پیام موفقیت یعنی فرم داده را گرفته، نه اینکه ایمیل تحویل شده است. ارسال یا تحویل ایمیل در مرحله بعد شکست خورده است.
SMTP رایگان برای وردپرس وجود دارد؟
بسیاری از سرویسهای ایمیل پلن پایه دارند و ایمیل هاست خودتان هم معمولاً SMTP دارد. محدودیت تعداد ارسال هر سرویس را بررسی کنید.
آیا Contact Form ۷ یا المنتور فرم مشکل دارند؟
معمولاً نه؛ هر دو از wp_mail وردپرس استفاده میکنند. وقتی ارسال پایه وردپرس درست شود، فرمها هم درست کار میکنند.
مشکل
پیامهای فرم تماس سایت به ایمیل نمیرسند
علائم و نشانهها
- پیام موفقیت فرم بدون رسیدن ایمیل، ایمیل در اسپم
علتهای احتمالی
- mail() مسدود، نبود SMTP، نبود SPF و DKIM، تنظیمات اشتباه فرم
راهحل کوتاه
ارسال را با افزونه SMTP انجام دهید و رکوردهای SPF، DKIM و DMARC دامنه را تنظیم کنید.
ابزارهای موردنیاز
- WP Mail SMTP یا FluentSMTP، پنل DNS


