温馨提示×

如何测试ubuntu邮件服务器连通

小樊
53
2026-09-10 22:45:34
栏目: 云计算

在 Ubuntu 上测试邮件服务器(SMTP / POP3 / IMAP)是否连通,通常分为网络连通性测试、协议交互测试和真实发信测试三类。下面按常见场景说明。


一、测试网络连通性(最基础)

1. 测试 SMTP 端口是否通

常见端口:

  • 25(SMTP,通常仅服务器间)
  • 465(SMTPS,SSL)
  • 587(Submission,STARTTLS)
telnet mail.example.com 25
# 或
nc -vz mail.example.com 587

成功示例:

Connection to mail.example.com 587 port [tcp/*] succeeded!

如果不通:

  • 检查防火墙
  • 检查云厂商安全组
  • 检查邮件服务是否启动

二、使用 telnet 手动测试 SMTP(推荐)

2. 测试 SMTP 交互

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 正常。


三、使用 swaks 测试(最方便)

3. 安装 swaks

sudo apt update
sudo apt install swaks

4. 测试发送邮件

swaks --to user@example.com \
      --from test@yourdomain.com \
      --server mail.example.com \
      --port 587 \
      --tls

可清楚看到每一步 SMTP 交互,非常适合排错。


四、测试接收邮件(POP3 / IMAP)

5. IMAP(143 / 993)

telnet mail.example.com 143

或

openssl s_client -connect mail.example.com:993

6. POP3(110 / 995)

telnet mail.example.com 110

五、使用 mail / sendmail 本地测试

7. 安装 mail 工具

sudo apt install mailutils

8. 发送测试邮件

echo "test body" | mail -s "test subject" user@example.com

查看日志:

tail -f /var/log/mail.log

六、常见问题排查

  • ✅ 端口通但发不出 → 看 /var/log/mail.log
  • ✅ 云服务器 25 端口被封 → 用 465 / 587
  • ✅ 认证失败 → 检查 SASL / 密码 / TLS
  • ✅ 被当成垃圾邮件 → 配置 SPF / DKIM / DMARC

如果你愿意,可以告诉我:

  • 你用的是 Postfix / Exim / Sendmail 哪个?
  • 是 发信失败 还是 收信失败?
  • 内部服务器还是公网邮件服务器?

我可以给你更精确的测试命令。

0 踩