一键检测VPS/服务器SMTP发信端口(25/465/587/2525)是否开放

部分VPS/服务器厂商为了防止滥用,会屏蔽SMTP发信端口,特别是25端口。以下脚本可以一键检测VPS/服务器的STMP发信端口是否启用。

 

#!/bin/bash

# 定义要测试的端口列表
ports=("25" "465" "587" "2525")

# 定义要连接的主机
host="in-v3.mailjet.com"

# 定义超时时间(单位:秒)
timeout_duration=3

# 定义结果变量
results=""

# 循环测试每个端口
for port in "${ports[@]}"
do
    echo "正在测试端口 $port..."
    if timeout $timeout_duration bash -c "</dev/tcp/$host/$port" >/dev/null 2>&1; then
        results+="端口 $port 已开启\n"
    else
        results+="端口 $port 未开启\n"
    fi
    echo
done

# 输出结果
echo -e "Results:\n$results"

示例1:AWS Lightsail

正在测试端口 25...

正在测试端口 465...

正在测试端口 587...

正在测试端口 2525...

Results:
端口 25 未开启
端口 465 已开启
端口 587 已开启
端口 2525 已开启

示例2:Racknerd

正在测试端口 25...

正在测试端口 465...

正在测试端口 587...

正在测试端口 2525...

Results:
端口 25 已开启
端口 465 已开启
端口 587 已开启
端口 2525 已开启

示例3: Liteserver

正在测试端口 25...

正在测试端口 465...

正在测试端口 587...

正在测试端口 2525...

Results:
端口 25 已开启
端口 465 已开启
端口 587 已开启
端口 2525 已开启

示例4:Clouvider

正在测试端口 25...

正在测试端口 465...

正在测试端口 587...

正在测试端口 2525...

Results:
端口 25 未开启
端口 465 未开启
端口 587 未开启
端口 2525 已开启

示例5:SpeedyPage

正在测试端口 25...

正在测试端口 465...

正在测试端口 587...

正在测试端口 2525...

Results:
端口 25 未开启
端口 465 未开启
端口 587 未开启
端口 2525 未开启
THE END