Ubuntu 26.04 命令行发送邮件完整教程|mailx + SMTP 配置

本文详细讲解 Ubuntu 26.04 系统下通过命令行发送邮件的方法,使用 mailx 配合外部 SMTP 服务器,实现纯文本邮件、带附件邮件、脚本自动化告警,一步到位、稳定可靠。

一、Ubuntu 26.04 实操步骤

1. 安装工具

sudo apt update
sudo apt install -y bsd-mailx mailutils

2. 配置 SMTP(以 163 邮箱为例)

编辑配置文件:

sudo vim /etc/s-nail.rc

末尾添加

set from="你的163邮箱@163.com"
set smtp="smtp://smtp.163.com:587"
set smtp-auth=login
set smtp-auth-user="你的163邮箱@163.com"
set smtp-auth-password="你的客户端授权码"
set smtp-use-starttls
set ssl-verify=ignore

QQ 邮箱把 smtp 改成:

smtp://smtp.qq.com:587

密码用 QQ 邮箱授权码

3. 发送测试邮件

echo "这是 Ubuntu 26.04 命令行发送的测试邮件" | mail -s "测试标题" 收件邮箱@xxx.com

4. 发送文件内容作为邮件

mail -s "服务器日志" test@qq.com < /var/log/syslog

5. 发送带附件

echo "请看日志附件" | mail -s "日志报告" -a /var/log/syslog test@qq.com

6. Shell 脚本自动发告警(示例)

#!/bin/bash
TO="admin@example.com"
SUBJECT="【告警】磁盘空间不足"
CONTENT=$(df -h)

echo "$CONTENT" | mail -s "$SUBJECT" $TO

二、常见问题

  • 发不出去:检查授权码、端口 587、防火墙是否放行出站
  • 提示证书错误:配置里已经加了 ssl-verify=ignore,忽略即可
  • 被当成垃圾邮件:尽量用企业邮箱或自己域名邮箱发送

本文首发于 58Linux技术博客,专注Ubuntu桌面使用、Linux服务器运维与网站搭建实战。

发表评论

粤ICP备10052831号 | © 2026 58Linux 技术笔记. All Rights Reserved. | 联系我们 | 关于本站
本站内容开放共享,仅供学习交流 | 专注 Ubuntu & Linux 实战教程
Built with GeneratePress