Linux 命令速查
网络 man mailx

mailx

命令行发送与阅读邮件

返回

补充说明

mailx 是 POSIX mail 的增强实现,不同发行版来源不同:Debian/Ubuntu 的 bsd-mailx 包提供 mailx,RHEL 使用 s-nail(同样提供 mailx 命令),旧版还有 heirloom-mailx。常用选项大体兼容,但附件、SMTP 等细节有差异。

最常见用途是在脚本中发送通知:echo "内容" | mailx -s "主题" user@example.com。真正的投递依赖本机 MTA(Postfix、Sendmail 等)或配置好的 SMTP 中继,否则邮件可能滞留在队列中。

读取模式可直接运行 mailx 查看当前用户的邮箱(通常是 /var/mail/$USER)。使用附件时 bsd-mailx 用 -a 文件,s-nail 的附件选项不同,应先查看本机 man 页。

语法

mailx [-s 主题] [-a 附件] [-c 抄送] [-b 密送] 收件人...

选项

  • -s <主题>:设置主题
  • -a <文件>:添加附件(bsd-mailx 语义)
  • -c <地址>:抄送
  • -b <地址>:密送
  • -r <地址>:设置 From 地址
  • -v:显示详细投递过程

实例

# 发送简单通知
echo "备份完成" | mailx -s "backup ok" admin@example.com

# 从文件读取正文
mailx -s "日报" ops@example.com < report.txt

# 带附件发送
mailx -s "日志" -a app.log ops@example.com < body.txt

# 抄送负责人
echo "done" | mailx -s "deploy" -c lead@example.com team@example.com

# 阅读本地邮箱
mailx -f /var/mail/$USER

参考链接