温馨提示×

怎样测试ubuntu邮件服务器

小樊
50
2026-09-02 00:38:48
栏目: 云计算

在 Ubuntu 上“测试邮件服务器”通常分为几类场景:本地能否发信、SMTP 服务是否正常、接收邮件是否正常、以及对外投递是否被拦截。下面按从简单到系统的方式说明。


一、先确认邮件服务是否已安装并运行

常见邮件服务器:

  • Postfix(最常用)
  • Exim
  • Sendmail(较少)

1. 查看是否安装 Postfix

dpkg -l | grep postfix

2. 查看服务状态

systemctl status postfix

如果没有安装:

sudo apt update
sudo apt install postfix

二、最简单的本地发信测试(命令行)

方法 1:使用 mail 命令

echo "test body" | mail -s "test subject" user@localhost

查看是否收到:

mail

或查看邮件目录:

ls /var/mail/

方法 2:使用 sendmail 测试

echo "Subject: test" | sendmail you@example.com

三、测试 SMTP 服务(telnet / nc)

1. 安装工具

sudo apt install telnet
# 或
sudo apt install netcat-openbsd

2. 连接本地 SMTP

telnet localhost 25

成功会看到:

220 mail.example.com ESMTP Postfix

3. 手动发一封测试邮件

HELO localhost
MAIL FROM: test@localhost
RCPT TO: user@localhost
DATA
Subject: telnet test

hello world
.
QUIT

如果每一步都返回 250 OK,说明 SMTP 正常。


四、测试发往外部邮箱(真实投递)

1. 发给 Gmail / QQ / 163

echo "test" | mail -s "ubuntu mail test" you@gmail.com

2. 查看邮件日志

tail -f /var/log/mail.log

重点关注:

  • status=sent
  • status=bounced
  • relay=(是否向外中继)

五、测试接收邮件( inbound )

1. 从外部邮箱发信到你的服务器

例如:

user@yourdomain.com

2. 检查:

tail -f /var/log/mail.log
mail

六、DNS 相关测试(非常重要)

邮件服务器必须有正确 DNS,否则外部收不到或被判垃圾邮件。

1. 检查 MX 记录

dig MX yourdomain.com

2. 检查反向解析(PTR)

dig -x 你的服务器IP

3. SPF / DKIM / DMARC

  • SPF:TXT 记录
  • DKIM:Postfix + opendkim
  • DMARC:TXT 记录

七、使用专业测试工具

1. swaks(强烈推荐)

sudo apt install swaks
swaks --to you@example.com --from test@yourdomain.com --server localhost

2. 在线测试

  • https://www.mail-tester.com
  • https://mxtoolbox.com

八、常见问题速查

问题 可能原因
能发不能收 MX 记录错误
能收不能发 被 ISP 封 25 端口
进垃圾箱 缺 SPF/DKIM
连接超时 防火墙未开放 25

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

  • 用的是 Postfix / Exim / 其他
  • 内网测试 还是 公网服务器
  • 想测 发信 / 收信 / 反弹

我可以直接给你一套针对性测试命令

0