فنی · پاسخ مستند
چگونه بفهمیم پورت 587 باز است؟
برای بررسی باز بودن پورت 587 میتوانید با یک ابزار خط فرمان مانند telnet، netcat یا PowerShell تلاش کنید به سرور SMTP خود وصل شوید. اگر اتصال موفق باشد، سرور معمولاً با کد خوشآمد 220 پاسخ میدهد که نشان میدهد پورت باز است و اتصالها را برای ارسال ایمیل (mail submission) میپذیرد.
استفاده از Telnet برای آزمایش اتصال
Telnet ابزاری استاندارد برای آزمایش اتصال TCP است. دستور telnet smtp.example.com 587 را در ترمینال اجرا کنید. اگر صفحه خالی شود یا پیام خوشآمد سرور نمایش داده شود، پورت باز است. اگر خطای connection refused یا timeout دریافت کنید، پورت بسته است یا فایروال آن را مسدود کرده است. توجه کنید که ممکن است پیش از استفاده لازم باشد telnet را در Windows Features فعال کنید.
استفاده از Netcat (nc) در Linux و macOS
Netcat ابزاری قدرتمند برای اشکالزدایی شبکه است. از دستور nc -zv smtp.example.com 587 استفاده کنید. فلگ z به netcat میگوید بدون ارسال داده، وجود سرویس در حال گوش دادن را بررسی کند و فلگ v خروجی مفصل را فعال میکند. خروجی موفق صراحتاً اعلام میکند اتصال به پورت موفق بوده است، اما در صورت شکست، timeout یا رد اتصال نشان داده میشود.
استفاده از PowerShell در Windows
برای کاربران Windows که telnet ندارند، PowerShell دستور Test-NetConnection را فراهم میکند. دستور Test-NetConnection -ComputerName smtp.example.com -Port 587 را اجرا کنید. خروجی شامل یک مقدار بولی برای TcpTestSucceeded است. اگر این مقدار True باشد، پورت 587 باز است. این روش برای محیطهای مدرن Windows ترجیح داده میشود، چون اطلاعات تشخیصی دقیقی درباره مسیر شبکه ارائه میدهد.
عیبیابی پورتهای مسدود
اگر پورت 587 بسته است، تنظیمات فایروال محلی و محدودیتهای ISP خود را بررسی کنید. بسیاری از ISPهای خانگی برای جلوگیری از اسپم، پورتهای خروجی ایمیل را مسدود میکنند. میتوانید پیکربندی خارجی خود را با SendHQ یا ابزارهای رایگان آن (https://sendhq.cc/tools) بررسی کنید تا مطمئن شوید سرور ایمیل شما از اینترنت عمومی در دسترس است. مطمئن شوید security groupهای ارائهدهنده ابری شما ترافیک خروجی روی TCP 587 را مجاز میکنند.
آشنایی با پورت 587 و STARTTLS
پورت 587 پورت استاندارد برای ارسال ایمیل (mail submission) است. برخلاف پورت 465 که از TLS ضمنی (implicit TLS) استفاده میکند، پورت 587 بهصورت اتصال متن آشکار شروع میشود و با دستور STARTTLS به اتصال امن ارتقا مییابد. به همین دلیل یک بررسی ساده TCP باز بودن پورت را تأیید میکند، اما برای اطمینان از درست کار کردن رمزگذاری، یک SMTP handshake کامل لازم است.
پرسشهایی که تیمها میپرسند
تفاوت پورت 25 و 587 چیست؟
پورت 25 عمدتاً برای relay سرور به سرور استفاده میشود، در حالی که پورت 587 پورت تعیینشده برای ارسال ایمیل از کلاینت به سرور است.
چرا اتصال من روی پورت 587 به timeout میخورد؟
timeout معمولاً نشان میدهد فایروالی بستهها را دور میریزد. فایروال سیستمعامل محلی، روتر شبکه یا قوانین security group ابری خود را بررسی کنید.
آیا موفقیت اتصال telnet یعنی ایمیل ارسال میشود؟
خیر، فقط تأیید میکند پورت TCP باز است. برای ارسال موفق ایمیل همچنان به احراز هویت معتبر و دستورهای درست SMTP نیاز دارید.
آیا پورت 587 امن است؟
پورت 587 وقتی همراه با STARTTLS استفاده شود امن است؛ STARTTLS ارتباط را پس از برقراری اتصال اولیه رمزگذاری میکند.