在 Ubuntu 上测试邮件服务器,通常分为 SMTP(发信)、POP3/IMAP(收信)、连通性、DNS/反垃圾配置 等几个方面。下面给你一套从简单到专业的常用测试方法,基本能覆盖 90% 场景。
常见邮件服务:
systemctl status postfix
systemctl status dovecot
telnet(最基础)telnet localhost 25
成功示例:
220 mail.example.com ESMTP Postfix
发送测试邮件:
HELO localhost
MAIL FROM:<test@example.com>
RCPT TO:<your@real.email>
DATA
Subject: Test mail
This is a test.
.
QUIT
✅ 能收到邮件说明 SMTP 正常
swaks(强烈推荐)安装:
sudo apt install swaks
测试发信:
swaks --to your@email.com \
--from test@example.com \
--server localhost
✅ 输出详细 SMTP 交互,非常适合排错
ss -lntp | grep 110
ss -lntp | grep 143
常见端口:
telnet 测试 IMAPtelnet localhost 143
成功示例:
* OK [CAPABILITY ...] Dovecot ready.
curl 测试(简单)curl imap://localhost
sudo apt install mailutils
echo "test" | mail -s "test mail" root
mail
✅ 适合验证 Postfix 本身是否正常
dig MX example.com
dig TXT example.com
dig TXT default._domainkey.example.com
dig -x 1.2.3.4
⚠️ 没有 PTR / SPF / DKIM,邮件极易进垃圾箱
tail -f /var/log/mail.log
常见错误:
Relay access denied → 允许中继配置问题Connection refused → 端口未开放Greylisted → 被对方灰名单拦截swaks --to test@mail-tester.com --server localhost
| 测试项 | 工具 |
|---|---|
| SMTP | telnet / swaks |
| IMAP | telnet / curl |
| 发信 | mail / swaks |
| 日志 | /var/log/mail.log |
| DNS | dig |
| 垃圾邮件 | mail-tester |
如果你愿意,可以告诉我:
我可以给你针对性的配置和排错方案。