使用 mutt 发送邮件:Linux 下轻量高效的命令行邮件工具

文章目录

  • 一、安装 mutt
  • 二、配置 .muttrc
  • 三、发送一封简单邮件
  • 四、发送给多个收件人
  • 五、发送附件
  • 六、临时设置发件人
  • 七、脚本示例:
  • 八.结语

在 Linux 或类 Unix 系统中,mutt 是一款经典且强大的命令行邮件客户端(MUA,邮件用户代理)。相比之下,像 postfix 和 sendmail 这样的邮件传输代理(MTA)功能更全面,但也更复杂和重量级。mutt 轻量且灵活,非常适合通过脚本或终端快速发送邮件,广泛应用于服务器自动化通知、备份提醒和系统告警等场景。

这篇文章将带你快速上手 mutt 的发信功能,包括:

  • 安装 mutt
  • 配置 .muttrc
  • 命令行发送邮件
  • 群发、多收件人
  • 附件发送
  • 自定义发件人

一、安装 mutt

在大多数 Linux 发行版中,mutt 都可以通过包管理器直接安装:
Ubuntu / Debian 系列:
bash

sudo apt update
sudo apt install mutt

RHEL / CentOS / AlmaLinux:

sudo yum install mutt

二、配置 .muttrc

mutt 默认使用配置文件 ~/.muttrc。如果你打算通过 SMTP 服务器(比如公司邮件服务器)发信,你需要在 .muttrc 中配置发信账号和密码。

set from = "bkmanager@lab.com"
set realname = "Backup Manager"
set smtp_url = "smtp://bkmanager@lab.com@zsys.lab.com:587/"
set smtp_pass = "labbkm123*"
set use_from = yes
set ssl_starttls = yes
set ssl_force_tls = yes

说明:

  • from 是你的发件人邮箱地址
  • realname 是显示名称
  • smtp_url 包含 SMTP 服务器地址和账号(注意用户名中“@”前要加转义或双写
  • smtp_pass 是发信密码
    建议将 .muttrc 权限设置为仅限用户访问,以避免泄露密码:
chmod 600 ~/.muttrc

三、发送一封简单邮件

echo "请插入磁带" | mutt -s "未检测到磁带" dba@lab.com

参数说明:

  • echo 后面是邮件正文
  • -s 指定邮件标题
  • 后面是收件人地址

四、发送给多个收件人

echo "请插入磁带" | mutt -s "未检测到磁带" dba@lab.com admin@lab.com

加抄送(Cc)或密送(Bcc):

echo "请插入磁带" | mutt -s "未检测到磁带" -c manager@lab.com -b audit@lab.com dba@lab.com

五、发送附件

可以通过 -a 参数添加附件(支持多个),注意收件人前加上 – 分隔符:

echo "请查看附件日志" | mutt -s "系统错误日志" -a /var/log/syslog -- admin@lab.com

六、临时设置发件人

如果你不想在 .muttrc 中写死发件人,可以用 -e 临时设定:

echo "测试邮件" | mutt -s "测试" \
-e "set from='alert@lab.com' realname='系统告警'" \
admin@lab.com

七、脚本示例:

#Set Mail
VAR_MAIL_LOCAL="pcc.dba@pouchen.com,pusat_dba@lab.com, infrateam1@lab.com,edphardware@lab.com"#Set Sender
VAR_MAIL_Sender="bkmanager@lab.com"#Mail subject
VAR_MAIL_SUBJECT="Tape_Backup_Result: DB Tape Backup"# Specfic logfile location
TAPE_LOG_FILE="$HOME/logs/test.log"#Construct Email header
EMAIL_Header="/backup/script/email_header.txt"
cat <<EOF > $EMAIL_Header
To: $VAR_MAIL_LOCAL
From: "Backup Manager" <${VAR_MAIL_Sender}>
Subject: ${VAR_MAIL_SUBJECT} [$TODAY]
$(cat "$TAPE_LOG_FILE")
EOF#Send Mail 
set $(date)
TODAY=$6-$2-$3mutt -H $EMAIL_Header -a "$TAPE_LOG_FILE"

八.结语

使用 mutt 发送邮件既轻量又灵活,非常适合系统管理员在自动化运维中使用。相比 mail、sendmail 等工具,mutt 更容易配置 TLS SMTP,也更具可读性。

如果你有更复杂的邮件需求(例如图文、HTML、嵌套附件等),mutt 也完全可以胜任。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/82017.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OceanBase 开发者大会,拥抱 Data*AI 战略,构建 AI 数据底座

5 月 17 号以“当 SQL 遇见 AI”为主题的 OceanBase 开发者大会在广州举行&#xff0c;因为行程的原因未能现场参会&#xff0c;仍然通过视频直播观看了全部的演讲。总体来说&#xff0c;这届大会既有对未来数据库演进方向的展望&#xff0c;也有 OceanBase 新产品的发布&#…

为 Spring Boot 应用程序构建 CI/CD 流水线

为 Spring Boot 应用程序创建构建/部署流水线涉及多个步骤,而 Jenkins 可以作为强大的工具来自动化这些流程。在本教程中,我们将指导您为托管在 GitHub 上的 Spring Boot 应用程序设置流水线,使用 Jenkins 构建该应用程序,并将其部署到 Amazon Elastic Kubernetes Service …

BI是什么意思?一文讲清BI的概念与应用!

目录 一、BI 是什么意思 1. BI 的定义 2. BI 的发展历程 3. BI 的核心组件 二、BI 的应用场景 1. 销售与市场营销 2. 财务管理 ​编辑3. 人力资源管理 4. 生产与运营管理 ​编辑三、选择合适的 BI 工具 1. 考虑企业的需求和规模 2. 评估工具的功能和性能 3. 关注工…

磁盘分区与挂载——笔记

1.磁盘分区 磁盘分区是将物理磁盘划分为多个逻辑区域的过程。每个分区可视为独立的存储单元&#xff0c;拥有独立的文件系统&#xff0c;可安装不同操作系统或存放不同类型数据。例如&#xff0c;将硬盘分为系统盘&#xff08;存放操作系统&#xff09;、数据盘&#xff08;存…

如何让 Google 收录 Github Pages 个人博客

版权归作者所有&#xff0c;如有转发&#xff0c;请注明文章出处&#xff1a;https://cyrus-studio.github.io/blog/ 如何确认自己的网站有没有被 google 收录 假设网址是&#xff1a;https://cyrus-studio.github.io/blog 搜索&#xff1a;site:https://cyrus-studio.github…

HarmonyOS Next 关键资产的解释

关键资产的安全存储与管理&#xff1a;HarmonyOS Asset Store Kit 深度解析 一、关键资产的定义与重要性 关键资产&#xff08;Critical Asset&#xff09;是指应用运行过程中涉及的短敏感数据&#xff0c;包括但不限于用户密码、身份令牌&#xff08;Token&#xff09;、银行…

机器学习(12)——LGBM(1)

文章目录 LightGBM算法详解1. 算法背景2. 核心创新2.1 基于直方图的决策树算法2.2 单边梯度采样(GOSS)2.3 互斥特征捆绑(EFB) 3. 算法细节3.1 树生长策略3.2 特征并行与数据并行3.3 类别特征处理 4. 关键参数说明4.1 核心参数4.2 控制速度参数4.3 控制过拟合参数 5. 与XGBoost对…

网络安全-等级保护(等保) 2-7-3 GB/T 25058—2019 第7章 安全设计与实施

############################################################################### 对于安全厂家而言&#xff0c;最关心的内容在本章节&#xff0c;根据已确定的安全总体方案&#xff0c;完成技术措施和管理措施的详细设计和实施&#xff0c;包含具体的安全产品和管理要求。…

PHP-FPM 调优配置建议

1、动态模式 pm dynamic; 最大子进程数&#xff08;根据服务器内存调整&#xff09; pm.max_children 100 //每个PHP-FPM进程大约占用30-50MB内存(ThinkPHP框架本身有一定内存开销)安全值&#xff1a;8GB内存 / 50MB ≈ 160&#xff0c;保守设置为100 ; 启动时创建的进程数&…

DDoS防护实战——从基础配置到高防IP部署

一、基础防护&#xff1a;服务器与网络层加固 Linux内核优化&#xff1a; 调整TCP协议栈参数&#xff0c;缓解SYN Flood攻击&#xff1a; # 启用SYN Cookie并减少超时时间 echo 1 > /proc/sys/net/ipv4/tcp_syncookies echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout…

使用 NGINX 的 `ngx_http_secure_link_module` 模块保护资源链接

一、模块简介 版本&#xff1a;自 NGINX 0.7.18 起引入 功能&#xff1a; 签名校验&#xff1a;对请求 URI 中的签名进行校验&#xff0c;保证链接未经篡改。时效控制&#xff1a;根据请求中携带的过期时间&#xff0c;判断链接是否仍在有效期。 启用方式&#xff1a;编译 NG…

前端三剑客之HTML

前端HTML 一、HTML简介 1.什么是html HTML的全称为超文本标记语言(HTML How To Make Love HyperText Markup Language )&#xff0c;是一种标记语言。它包括一系列标签&#xff0c;通过这些标签可以将网络上的文档格式统一&#xff0c;使分散的Internet资源连接为一个逻辑整…

网络安全-等级保护(等保) 2-0 等级保护制度现行技术标准

################################################################################ 第二章&#xff1a;现行等保标准要求&#xff0c;通过表格方式详细拆分了等保的相关要求。 GB 17859-1999 计算机信息系统 安全保护等级划分准则【现行】 GB/T22240-2020 《信息安全技术 网…

目标检测 LW-DETR(2024)详细解读

文章目录 整体架构 LW-DETR全称Light-Weight DETR&#xff0c;是百度团队提出的第二代面向实时检测算法&#xff0c;比yolo v8的速度和精度更好 整体架构 LW-DETR 由一个ViT编码器&#xff08;Vision Transformer Encoder&#xff09;、一个投影器&#xff08;Projector&#…

DVWA-XSS

DOM low 这是一个下拉框的形式&#xff0c;但是如果我们不让他等于English呢&#xff0c;换成js代码呢&#xff1f; <script>alert(xss);</script> Medium <script> 标签&#xff0c;但仅使用简单的字符串匹配进行替换&#xff08;比如移除 "<scr…

想要建站但没有服务器?雨云RCA,免服务器即可搭建完整网站!!!

大家好&#xff01;时隔几个星期没有发文章了。 最近&#xff0c;雨云发布了一个新的项目——雨云云应用&#xff08;RCA&#xff0c;Rainyun Cloud Application&#xff09;&#xff0c;在没有服务器的情况下&#xff0c;可以小白部署一个完整的网站&#xff0c;免去了繁琐的…

智能事件分析边缘服务器:交通管理与安全监测的利器

在当今交通管理和安全监测的领域中&#xff0c;智能化、高效化的设备需求日益增长。智能事件分析边缘服务器凭借其卓越的性能和丰富的功能&#xff0c;成为了该领域的佼佼者。 一、产品概述 智能事件分析边缘服务器是一款采用嵌入式 Linux 操作系统的边缘事件分析终端。它具有…

2025抓包工具Reqable手机抓包HTTPS亲测简单好用-快速跑通

前言 自安卓7.0高版本系统不在信任用户证书&#xff0c;https抓包方式市面查找方法太过复杂手机要root等&#xff0c;前置条件要求太高太复杂&#xff0c;看的头痛&#xff0c;今天一台电脑按步骤操作完即可抓包https,给大家搞定抓包https问题。支持直接编辑修改请求参…

Neon数据库:让Postgres更智能的选择!

Neon:革新的Serverless PostgreSQL解决方案 在当今快速发展的技术世界,数据库的效率和灵活性成为众多开发者关注的重中之重。Neon,以其独特的serverless架构,正引领着这一变革。本文将深入探讨Neon的独特构架、应用场景以及具体的使用方法,帮助您快速掌握这一开源项目的精…

从开发者角度看数据库架构进化史:JDBC - 中间件 - TiDB

作者&#xff1a; Lucien-卢西恩 原文来源&#xff1a; https://tidb.net/blog/e7034d1b Java 应用开发技术发展历程 在业务开发早期&#xff0c;用 Java 借助 JDBC 进行数据库操作&#xff0c;虽能实现基本交互&#xff0c;但需手动管理连接、编写大量 SQL 及处理结果集&a…