测试 Ubuntu 的邮件功能,常见有 发信测试、收信测试、日志排查 等几类方式。下面按从简单到完整的顺序说明,适用于 服务器/桌面版 Ubuntu。
Ubuntu 默认 没有完整邮件服务,通常需要安装邮件传输代理(MTA)或邮件工具。
dpkg -l | grep postfix
dpkg -l | grep mail
sudo apt update
sudo apt install postfix mailutils
安装过程中选择:
安装完成后检查:
systemctl status postfix
mail 发送echo "This is a test mail from Ubuntu" | mail -s "Test Mail" user@example.com
查看本机用户邮件(如 root):
mail
sendmail 方式(底层)sendmail user@example.com <<EOF
Subject: Test Email
From: root@$(hostname)
This is a test email.
EOF
ssmtp(轻量级,适合脚本)sudo apt install ssmtp
配置:
sudo nano /etc/ssmtp/ssmtp.conf
示例(Gmail):
root=your@gmail.com
mailhub=smtp.gmail.com:587
AuthUser=your@gmail.com
AuthPass=your_password
UseSTARTTLS=YES
发送测试:
echo "Test" | mail -s "Test" user@example.com
⚠️ Gmail 需要 应用专用密码
echo "Hello" | mail -s "Local Test" $(whoami)
mail
或查看 spool:
ls /var/mail/
cat /var/mail/$(whoami)
sudo tail -f /var/log/mail.log
常见状态:
status=sent → 成功status=bounced → 被退信deferred → 延迟发送telnet smtp.gmail.com 587
或:
nc -zv smtp.gmail.com 587
如果端口不通,可能是:
swaks 进行专业 SMTP 测试(推荐)sudo apt install swaks
swaks --to user@example.com \
--from your@domain.com \
--server smtp.example.com \
--port 587 \
--auth \
--tls
✅ 非常适合调试 SMTP 认证问题
/var/log/mail.log✅ 安装 postfix + mailutils
✅ 发送本地邮件
✅ 发送外网邮件
✅ 查看 mail.log
✅ SMTP 端口可通
如果你愿意,可以告诉我:
我可以给你 一套完全适合你环境的测试方案。