在 Ubuntu 上测试邮件服务器(SMTP / POP3 / IMAP)是否连通,通常分为网络连通性测试、协议交互测试和真实发信测试三类。下面按常见场景说明。
常见端口:
telnet mail.example.com 25
# 或
nc -vz mail.example.com 587
成功示例:
Connection to mail.example.com 587 port [tcp/*] succeeded!
如果不通:
telnet mail.example.com 25
进入后输入:
HELO test
MAIL FROM:<user@example.com>
RCPT TO:<user2@example.com>
DATA
Subject: Test
Hello
.
QUIT
如果看到 250 OK 说明 SMTP 正常。
sudo apt update
sudo apt install swaks
swaks --to user@example.com \
--from test@yourdomain.com \
--server mail.example.com \
--port 587 \
--tls
可清楚看到每一步 SMTP 交互,非常适合排错。
telnet mail.example.com 143
或
openssl s_client -connect mail.example.com:993
telnet mail.example.com 110
sudo apt install mailutils
echo "test body" | mail -s "test subject" user@example.com
查看日志:
tail -f /var/log/mail.log
/var/log/mail.log如果你愿意,可以告诉我:
我可以给你更精确的测试命令。