温馨提示×

centos如何测试邮件服务器

小樊
45
2026-10-02 23:33:17
栏目: 云计算

在 CentOS 上“测试邮件服务器”通常分几种场景:测试本机能否发邮件、测试 SMTP 服务是否正常、测试接收邮件、测试中继/认证。下面按常见用法说明。


一、使用命令行测试发邮件(最常用)

1. 使用 mail 命令(需安装 mailx)

yum install -y mailx

发送测试邮件:

echo "邮件内容" | mail -s "测试主题" user@example.com

或使用外部 SMTP(如企业邮箱):

mail -s "测试" -S smtp=smtp.example.com:25 \
     -S from=from@example.com user@example.com

二、使用 telnet 测试 SMTP 服务

1. 安装 telnet

yum install -y telnet

2. 连接邮件服务器

telnet localhost 25

或

telnet smtp.example.com 25

3. 手动发送 SMTP 命令

HELO test.com
MAIL FROM: test@test.com
RCPT TO: user@example.com
DATA
Subject: Test Mail
This is a test.
.
QUIT

✅ 若看到 250 OK 说明 SMTP 正常。


三、使用 swaks 专业测试工具(推荐)

安装

yum install -y epel-release
yum install -y swaks

测试发送

swaks --to user@example.com \
      --from test@yourdomain.com \
      --server smtp.yourdomain.com:25

测试 SMTP 认证

swaks --to user@example.com \
      --from user@yourdomain.com \
      --server smtp.yourdomain.com:587 \
      --auth LOGIN \
      --auth-user user@yourdomain.com \
      --auth-password password

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

测试 IMAP

telnet imap.example.com 143
a login user password
a list "" "*"
a logout

测试 POP3

telnet pop.example.com 110
USER user
PASS password
LIST
QUIT

五、查看邮件日志(排错必看)

tail -f /var/log/maillog

常见服务:

  • Postfix:/var/log/maillog
  • Sendmail:同上
  • Exchange:不适用

六、防火墙 & SELinux 检查

firewall-cmd --list-all
setenforce 0   # 临时关闭测试

开放端口:

firewall-cmd --add-port=25/tcp --permanent
firewall-cmd --reload

七、常见测试目标总结

测试目的 推荐工具
发信是否正常 mail / swaks
SMTP 协议 telnet / swaks
认证/中继 swaks
收信 telnet (IMAP/POP3)
排错 /var/log/maillog

如果你能告诉我:

  • 用的是 Postfix / Sendmail / 第三方 SMTP
  • 是 发信失败 / 收不到 / 被拒

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

0 踩