Linux命令-mail (发送和接收电子邮件)

mail 命令是 Linux 系统中一个经典的命令行邮件客户端,用于发送和接收电子邮件。它非常适合在脚本中发送通知邮件或快速查看系统邮件。

  1. 发送邮件

这是最常用的功能,基本语法如下:

mail -s "邮件主题" 收件人地址

输入命令后,按回车进入编辑模式,输入邮件正文。完成后,在新的一行单独输入一个点 . 并按回车,即可发送。

常用发送方式示例:

1. 直接输入内容发送

mail -s "测试主题" user@example.com

2. 使用管道,直接发送已有内容

echo "这是邮件正文" | mail -s "通知" user@example.com

3. 发送文件内容作为正文

mail -s "报告附件" user@example.com < /path/to/report.txt

4. 发送给多个收件人

mail -s "会议提醒" user1@example.com,user2@example.com

  1. 查看收件箱

直接输入 mail 命令(不带参数)即可进入交互式收件箱界面,查看系统为当前用户保存的邮件(通常位于 /var/mail/用户名)。

在收件箱界面中,常用的操作指令有:

• 回车:查看当前高亮邮件的详细内容。

• 数字 N:直接查看第 N 封邮件。

• d N:删除第 N 封邮件。

• q:退出 mail 程序。

• ?:显示所有可用的命令帮助。

  1. 常用选项

选项 说明

-s "主题" 指定邮件的主题。

-c "地址" 指定抄送收件人。

-b "地址" 指定密送收件人。

-r "发件人" 指定发件人地址(部分系统需要配置)。

一个综合示例:

从文件中读取收件人列表,并发送带有特定发件人的邮件

mail -s "月度报告" -c "boss@company.com" -r "system@hostname" $(cat mail_list.txt) < report_content.txt

⚠️ 重要提示

• mail 命令通常需要系统上安装并配置了邮件传输代理(如 sendmail 或 postfix)才能正常发送外部邮件。在许多服务器上,它默认配置为发送本地系统邮件。

• 对于需要发送附件或更复杂邮件的场景,可以考虑使用功能更强大的 mutt 命令或 mailx(mail 的增强版本)。

相关推荐
万象.1 小时前
Linux套接字socket编程(含TCP,UDP)
linux·tcp/ip·udp
历程里程碑2 小时前
39. 从零实现UDP服务器实战(带源码) V1版本 - Echo server
服务器·开发语言·网络·c++·网络协议·udp·php
finegx2 小时前
反汇编objdump和strace学习
linux·经验分享·学习
朱一头zcy2 小时前
[Win11家庭中文版]如何关闭基于虚拟化的安全性VBS(为了解决VBS启用状态下 VMware性能很差 频繁闪退或有各种不一样的崩溃报错)
linux·经验分享·vbs
xlp666hub2 小时前
【Linux驱动实战】:带参数的内核模块
linux·c
芥子沫2 小时前
Linux下编程有什么优势?
linux·运维·服务器
让学习成为一种生活方式2 小时前
GNU Parallel 安装与使用--生信工具078
服务器·gnu
REDcker2 小时前
Linux systemd发展演进与实战指南
linux·运维·服务器
白太岁2 小时前
Linux 进程调度模块
linux·运维·服务器