خطای POP3 با پیام “Error service(pop3-login) listen(,110) failed Address already in use” یکی از مشکلات رایج مدیران سرور ایمیل است. این خطا معمولاً زمانی رخ میدهد که پورت استاندارد 110 توسط یک سرویس دیگر اشغال شده باشد. در نتیجه، سرویس ایمیل اصلی مانند Dovecot نمیتواند روی این پورت فعال شود. در این مقاله جامع از بلاگ وبداده، مرحلهبهمرحله به شما آموزش میدهیم چگونه این خطا را شناسایی، سرویس متخاصم را حذف و پیکربندی سرور ایمیل خود را اصلاح کنید تا از بروز مجدد آن جلوگیری شود.
💡 Dovecot یک سرویس/نرمافزار ایمیل (Mail Server) متنباز است که برای مدیریت دسترسی کاربران به ایمیلها استفاده میشود. این سرویس پروتکلهای POP3 و IMAP را پشتیبانی میکند و معمولاً روی سرورهای لینوکسی نصب میشود تا کاربران بتوانند ایمیلهای خود را دریافت و مدیریت کنند. در واقع Dovecot وظیفه دارد پیامها را از Mailbox روی سرور برای کلاینتها (مثل Outlook، Thunderbird یا موبایل) در دسترس قرار دهد. دلیل محبوبیتش این است که سریع، سبک، امن و پایدار است و در هاستینگهایی مثل DirectAdmin یا cPanel بهطور پیشفرض استفاده میشود.
در بروز این خطا، مشکل اینجاست که یک برنامه یا سرویس دیگر از پورت 110 استفاده میکند. این موضوع اجازه نمیدهد که سرویس ایمیل اصلی شما (مثل Dovecot) فعال شود و روی این پورت شروع به کار کند. نتیجهٔ این اتفاق، از کار افتادن پاسخگویی Dovecot به درخواستها و عدم توانایی کاربران در دریافت ایمیل است.
تشخیص پردازنده متخاصم در پورت 110
برای رفع این خطا باید ابتدا مشخص شود کدام پردازنده یا سرویس پورت 110 را اشغال کرده است. این مرحله پایهایترین گام در عیبیابی است زیرا بدون شناسایی عامل متخاصم، هیچ اقدامی موثر نخواهد بود. ابزارهایی مانند netstat و lsof کمک میکنند سرویس یا برنامه مزاحم دقیقاً مشخص شود. با این کار مدیر سرور میتواند تصمیم بگیرد پردازنده را خاتمه دهد یا تنظیمات را اصلاح کند. این مرحله جلوی سردرگمی و اقدام اشتباه در مدیریت سرویسهای ایمیل را میگیرد.
استفاده از netstat
یکی از سادهترین ابزارها برای شناسایی سرویس متخاصم دستور زیر است:
Copy
netstat-tuln|grep:110
خروجی این دستور نشان میدهد کدام پردازنده (Process) پورت 110 را اشغال کرده است.
استفاده از lsof
در صورتی که lsof روی سرور نصب باشد، میتوانید از دستور زیر برای شناسایی دقیقتر استفاده کنید:
Copy
lsof-i:110
این دستور نام سرویس و PID آن را نمایش میدهد. در بیشتر مواقع، عامل ایجاد مشکل یک سرویس ایمیل قدیمی مانند Courier یا حتی یک نمونه اضافی از Dovecot است.
مدیریت و رفع تداخل پورت 110
برای حل کامل مشکل، لازم است پردازندهای که پورت 110 را اشغال کرده متوقف شود و سرویس اصلی ایمیل دوباره راهاندازی گردد. این مرحله کلیدی است چون تا زمانی که پورت آزاد نشود، هیچ سرویسی قادر به پاسخگویی صحیح نخواهد بود. با استخراج PID و استفاده از دستورات مدیریتی میتوان سرویس متخاصم را خاتمه داد و کنترل پورت را به Dovecot برگرداند. انجام این کار نهتنها خطا را برطرف میکند بلکه باعث بازگشت سریع عملکرد ایمیل در سرور میشود.
استخراج PID و متوقف کردن سرویس متخاصم
از خروجی دستورات بالا، PID را یادداشت کنید و با دستور زیر سرویس متخاصم را متوقف نمایید:
Copy
kill-9PID
بهعنوان مثال:
Copy
kill-92456
راهاندازی مجدد سرویس ایمیل اصلی
پس از آزاد شدن پورت 110، سرویس اصلی ایمیل را مجدد راهاندازی کنید:
Copy
systemctlrestartdovecot
یا در برخی توزیعها:
Copy
servicedovecotrestart
بررسی و اصلاح پیکربندی Dovecot
برای جلوگیری از بروز مجدد خطای POP3 باید پیکربندی سرویس Dovecot به دقت بررسی شود. این کار کمک میکند اطمینان حاصل کنید تنظیمات مربوط به پورت 110 درست انجام شده و هیچ سرویس دیگری با آن تداخل ندارد. اصلاح بخش listen و جلوگیری از نصب همزمان سرویسهای ایمیل دیگر میتواند مشکل را بهطور کامل برطرف کند. همچنین بررسی پشتیبانی IPv6 یا غیرفعالسازی آن در صورت عدم نیاز، جلوی بروز خطاهای مشابه را میگیرد. این مرحله تضمین میکند سرور ایمیل شما پایدار و بدون خطای POP3 فعالیت کند.
فایل پیکربندی اصلی
مطمئن شوید فایل /etc/dovecot/dovecot.conf یا مسیر /etc/dovecot/conf.d/ بهدرستی تنظیم شده است. یکی از بخشهای مهم این فایل، تنظیم بخش listen است:
Copy
listen=*
این گزینه باعث میشود Dovecot روی تمام آدرسها گوش دهد و تداخل کمتری رخ دهد.
جلوگیری از نصب همزمان دو سرویس ایمیل
یکی از رایجترین دلایل این خطا نصب همزمان Courier و Dovecot است. هر دو سرویس برای پورتهای استاندارد POP3 (110) و IMAP (143) رقابت میکنند. توصیه میشود تنها یک سرویس ایمیل فعال باشد.
تنظیم IPv6
اگر روی سرور شما IPv6 فعال نیست، بهتر است در فایل پیکربندی آن را غیرفعال کنید تا خطای اضافی ایجاد نشود.
نکات پیشگیرانه خطای POP3 برای مدیران سرور
برای جلوگیری از بروز خطای POP3 و خطای Address already in use ایمیل باید اقدامات پیشگیرانه انجام داد. مدیران سرور لازم است همواره سرویسهای فعال را کنترل کنند و از نصب سرویسهای ایمیل تکراری پرهیز نمایند. بررسی منظم لاگها و مانیتورینگ منابع باعث میشود مشکلات سریعتر شناسایی شوند. این کارها باعث افزایش پایداری و کاهش احتمال بروز مجدد خطا خواهد شد.
مانیتورینگ منظم سرویسها با ابزارهایی مانند htop یا systemctl status.
عدم نصب سرویسهای اضافی ایمیل بدون نیاز.
بررسی لاگهای Dovecot در مسیر /var/log/ برای شناسایی مشکلات احتمالی.
استفاده از DirectAdmin یا cPanel برای مدیریت سادهتر تنظیمات ایمیل.
مثال عملی در DirectAdmin
در بسیاری از سرورهای هاستینگ که از DirectAdmin استفاده میکنند، خطای POP3 با (خطای Address already in use) پس از نصب یا آپدیت سرویسها مشاهده میشود. برای رفع آن، مدیر سرور باید ابتدا با SSH وارد سرور شود و با استفاده از دستورات netstat یا lsof سرویس متخاصم را شناسایی کند. سپس با kill کردن پردازنده مربوطه و ریاستارت Dovecot مشکل در چند دقیقه برطرف خواهد شد. ⭐ این مثال نشان میدهد حتی در محیطهای کنترل پنل، داشتن دانش پایه لینوکس برای مدیریت خطای POP3 ضروری است.
نتیجهگیری: خطای POP3
خطای “Error service(pop3-login) listen(,110) failed Address already in use” یکی از مشکلات رایج مدیران سرورهای لینوکسی است که به دلیل اشغال بودن پورت 110 رخ میدهد. با استفاده از دستورات netstat و lsof میتوانید سرویس متخاصم را شناسایی کنید، آن را متوقف کنید و سپس سرویس اصلی (مانند Dovecot) را مجدد راهاندازی نمایید. همچنین، بررسی فایلهای پیکربندی و جلوگیری از نصب همزمان چند سرویس ایمیل، از بروز مجدد این خطا پیشگیری خواهد کرد. این راهکارها باعث افزایش پایداری و کارایی سرور ایمیل شما میشوند.
سوالات متداول از خطای POP3 و تداخل پورت ایمیل
1- خطای POP3 در پورت 110 دقیقاً به چه معناست؟
یعنی سرویس ایمیل شما نمیتواند روی پورت استاندارد POP3 (110) فعال شود، چون توسط سرویس دیگری اشغال شده است.
2- آیا میتوان این خطا را بدون دسترسی Root رفع کرد؟
خیر. چون نیاز به kill پردازنده پورت و تغییر پیکربندی سرور ایمیل دارید.
3- آیا این خطا به دریافت ایمیل کاربران آسیب میزند؟
بله. تا زمانی که رفع نشود، کاربران قادر به دریافت ایمیل از طریق POP3 نخواهند بود.
4- تفاوت استفاده از netstat و lsof در تشخیص چیست؟
netstat فقط وضعیت پورت را نشان میدهد، اما lsof دقیقتر بوده و نام پردازنده را هم مشخص میکند.
5- اگر پس از kill پردازنده، مشکل بازگشت چه کنم؟
باید بررسی کنید که سرویس متخاصم بهصورت خودکار اجرا نمیشود. در این صورت باید آن را غیرفعال یا حذف کنید.
6- آیا این خطا فقط روی Dovecot رخ میدهد؟
خیر. هر سرویس ایمیلی که روی POP3 کار میکند ممکن است با این مشکل مواجه شود.
7- چطور میتوان از بروز مجدد این مشکل جلوگیری کرد؟
با مانیتورینگ، تنظیم پیکربندی صحیح Dovecot و حذف سرویسهای اضافی ایمیل.
8- آیا میتوان به جای POP3 از IMAP استفاده کرد؟
بله، ولی باز هم باید مطمئن شوید تداخل پورت وجود ندارد.
من نویسنده و تولیدکننده محتوای تخصصی در حوزه هاستینگ هستم که با تمرکز بر کپیرایتینگ و ارائه آموزشهای کاربردی، به ارتقای دانش و مهارت کاربران کمک میکنم. سالهاست که در زمینه هاستینگ و شبکه فعالیت میکنم و همواره تلاش دارم با بهروزرسانی اطلاعات خود، بهترین و مفیدترین مطالب را برای مخاطبان ارائه دهم.