عیب‌یابی Dovecot در DirectAdmin – رفع خطاهای IMAP، مشکلات احراز هویت و بررسی گواهی SSL

Dovecot سرویس اصلی IMAP/POP3 در DirectAdmin است. گاهی کاربران هنگام ورود به وب‌میل یا کلاینت ایمیل با خطاهایی مثل "Connection dropped" یا "unknown user" مواجه می‌شوند. این مقاله یک راهنمای کامل برای رفع خطاهای رایج Dovecot، پاک‌سازی ایندکس‌ها، بررسی دیتابیس‌های احراز هویت و تست گواهی SSL روی پورت‌های 143 و 993 است.

Dovecot in DirectAdmin

~2 min read • Updated Mar 1, 2026

1. خطا: ERROR: Connection dropped by imap server – Query: SELECT "INBOX"


اگر هنگام ورود به وب‌میل یا کلاینت ایمیل با این خطا مواجه شدید:


ERROR: Connection dropped by imap server
Query: SELECT "INBOX"

ابتدا لاگ‌ها را بررسی کنید:


/var/log/maillog

علت رایج: خراب شدن ایندکس‌های Dovecot

گاهی بین نسخه‌های مختلف Dovecot، ایندکس‌ها خراب می‌شوند. راه‌حل ساده است: حذف ایندکس‌ها تا دوباره ساخته شوند.

مراحل:


cd /home/username/imap/domain.com/user/Maildir
rm -f dovecot*

بعد از ورود مجدد کاربر (وب‌میل یا کلاینت)، ایندکس‌ها دوباره ساخته می‌شوند و مشکل رفع می‌شود.

---

2. خطا: shadow([email protected],127.0.0.1): unknown user


Dovecot از دو دیتابیس جداگانه برای احراز هویت استفاده می‌کند:

  • سیستمی (shadow) → فایل /etc/shadow
  • مجازی (virtual) → فایل‌های /etc/virtual/domain.com/passwd

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


shadow([email protected],127.0.0.1): unknown user
passwd([email protected],127.0.0.1): unknown user

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

پنهان کردن این پیام‌ها:

در فایل /etc/dovecot/dovecot.conf در بخش Authentication:


auth_verbose = no
auth_debug = no
---

3. بررسی گواهی SSL برای IMAP روی پورت 143 و 993


اگر کلاینت‌های ایمیل یا سرورها نیاز به گواهی معتبر دارند، می‌توانید گواهی فعلی Dovecot را بررسی کنید.

بررسی پورت 143 (STARTTLS):


openssl s_client -connect server.hostname.com:143 -starttls imap -servername server.hostname.com

بررسی پورت 993 (IMAPS):


openssl s_client -connect server.hostname.com:993 -servername server.hostname.com

نکات مهم:

  • CN (Common Name) باید با hostname سرور مطابقت داشته باشد.
  • در خروجی به بخش subject= توجه کنید.

مثال:


-----END CERTIFICATE-----
subject=/OU=Domain Control Validated/CN=*.directadmin.com

خروج از جلسه IMAP:


01 logout

اگر گواهی self-signed باشد:

در خروجی خواهید دید:


Verify return code: 18 (self signed certificate)

نکته: پارامتر -servername برای SNI استفاده می‌شود تا Dovecot گواهی صحیح را ارائه دهد.

Written & researched by Dr. Shahin Siami