linux-command 项目详解:Linux 下 mail 命令发送与接收电子邮件全实战指南 文档教程【免费下载链接】linux-commandLinux命令大全搜索工具内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux项目地址https://gitcode.com/GitHub_Trending/linux/linux-command点击查看免费下载本篇文章基于开源仓库 linux-commandLinux 命令大全搜索工具中的 mail 命令文档系统讲解命令行电子邮件工具mail的语法、选项、参数以及四种从 shell 发送邮件的实战方式并深入探讨中文乱码规避、sendmail 参数透传与附件发送等进阶用法帮助你掌握在 CentOS 等 Linux 环境下用一行命令完成邮件投递的完整技能。mail 命令是什么mail命令是 Linux 下命令行方式的电子邮件发送和接收工具其操作的交互界面不像elm或pine那样容易上手但功能非常完整。在 linux-command 项目中它被收录在电子邮件与新闻组命令分类之下与elm、mailq、sendmail等命令共同构成了从发信、投递到队列管理的命令行邮件工具链sendmail 命令文档一款著名的电子邮件传送代理MTA基于标准的简单邮件传输协议SMTPmail程序本身正是调用它来完成实际的邮件发送mailq 命令文档显示待发送的邮件队列用于排查投递失败的邮件elm 命令文档纯文本交互式全屏幕界面的邮件客户端与mail的功能定位类似但交互方式不同。语法与选项mail命令的基本语法为mail(选项)(参数)常用选项及其含义如下选项作用-b地址指定密件副本Bcc的收信人地址-c地址指定副本Cc的收信人地址-f邮件文件读取指定邮件文件中的邮件-i不显示终端发出的信息-I使用互动模式-n程序使用时不使用mail.rc文件中的设置-N阅读邮件时不显示邮件的标题-s邮件主题指定邮件的主题-u用户帐号读取指定用户的邮件-v执行时显示详细的信息参数邮件地址指收信人的电子邮箱地址。实例一直接使用 shell 作为编辑器最简单的发信方式是把 shell 当作邮件正文编辑器直接交互式输入内容mail -s Hello from jsdig.com by shell adminjsdig.com hello,this is the content of mail. welcome to www.jsdig.com第一行是输入的命令-s表示邮件的主题后面的adminjsdig.com是邮件的接收人。输入完这行命令回车后会进入邮件正文的编写可以输入任意文字如示例中的两行内容。当邮件正文输入完成后需要按CTRLD结束输入此时系统会提示输入 Cc 地址邮件抄送地址没有则直接回车即可完成邮件发送。实例二使用管道进行邮件发送通过管道把echo的输出作为邮件正文传入mail可以在一行内完成发送echo hello,this is the content of mail.welcome to www.jsdig.com | mail -s Hello from jsdig.com by pipe adminjsdig.com其中echo之后的内容即邮件正文这种写法非常适合在脚本中与变量、命令输出拼接使用例如df -h | mail -s 磁盘使用情况 adminexample.com实例三使用文件进行邮件发送把文件内容重定向为邮件正文是三种普通发信方式中最适合处理长文本和中文的方式mail -s Hello from jsdig.com by file adminjsdig.com mail.txt执行上述命令后mail.txt文件的内容会作为邮件正文发送给收件人。关于中文乱码的说明使用上述前两种方式时由于邮件内容直接在 shell 中敲入或粘贴无法输入中文即使粘贴成功收到的邮件也往往是乱码。而第三种方式可以在 Windows 下先编辑好邮件内容文件再放到 Linux 下发送从而正常发送中文正文。不过邮件的中文标题目前仍没有找到稳妥的解决办法。实例四透传 sendmail 参数指定发件人由于mail程序本身就是调用 sendmail 来完成邮件发送的因此可以在mail命令中直接使用 sendmail 的参数进行配置。例如想使用特定的发件人地址发送邮件mail -s Hello from jsdig.com with sender adminjsdig.com -- -f userjsdig.com mail.txt命令中的-- -f userjsdig.com是 sendmail 的选项其中-f表示邮件的发件人邮件地址。从 sendmail 命令文档 可以看到sendmail 还支持其他常用选项例如-F指定邮件发送者全名、-bp显示邮件的发送队列、-q设置处理邮件队列中邮件的时间间隔等都可以按同样的--透传方式与mail配合使用。发送带附件的邮件在 Linux 下使用mail命令发送附件也很简单但首先需要安装uuencode软件包。uuencode程序用于对二进制文件进行编码使其适合通过邮件进行发送。在 CentOS 上安装该软件包的命令如下yum install sharutils安装完成后即可发送附件uuencode test.txt test | mail -s hello,see the attachement adminjsdig.com mail.txtuuencode有两个参数第一个是要发送的文件第二个是显示的文件名称。执行后test.txt文件就会作为邮件的附件随邮件一起发送出去。环境要求与使用前提以上介绍的是在 CentOS 下使用mail发送电子邮件的方法使用时需要满足以下前提Linux 系统必须安装了 sendmail 并已开启服务同时保证服务器可以连接外网文中所有命令均已验证可用但使用时需要将命令中的电子邮件地址替换成自己的真实邮箱地址若邮件未能投递可结合 mailq 命令文档 查看待发送邮件队列及投递失败原因例如执行mailq -v可查看详细队列信息格式与 sendmail 的-bp选项一致。结合 linux-command 项目快速查阅mail命令文档收录于 linux-command 仓库的 command 目录 中每个命令对应一个 Markdown 文件。除了在线阅读 Web 版本外还可以通过npm安装linux-command包在代码中直接引用命令文档内容npm install linux-commandvar comm require(linux-command); console.log(----, comm.ls); var mail require(linux-command/command/mail.md); console.log(----, mail); // markdown string项目中 scripts/dash.mjs 展示了命令文档索引的构建机制它读取dist/data.json索引文件为每个命令生成条目并写入 SQLite 搜索索引searchIndex表最终构建出可供 Dash 等工具离线检索的 docset 包mail等 600 多个命令文档均可被索引和离线检索。赞分享文档教程【免费下载链接】linux-commandLinux命令大全搜索工具内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux项目地址https://gitcode.com/GitHub_Trending/linux/linux-command点击查看免费下载相关推荐NumPy 1.17.1 版本发布解析24 项修复背后的关键改动与源码印证NumPy 1.17.1 版本发布解析24 项修复背后的关键改动与源码印证 导读 本文基于 NumPy 官方仓库中的 1.17.1 版本发布说明 doc/s文档教程Linux 光盘刻录命令 cdrecord 实战指南linux-command 命令手册详解Linux 光盘刻录命令 cdrecord 实战指南linux command 命令手册详解 本篇指南聚焦 Linux 系统下的经典刻录命令 cdrecor文档教程linux-command 命令速查clock 命令详解与 Linux 硬件时钟RTC时间调整实战指南linux command 命令速查clock 命令详解与 Linux 硬件时钟RTC时间调整实战指南 本文基于 linux command https:文档教程上一篇构建智能物流仓储系统Hermes Agent库存管理与机器人协调下一篇gradle-build-action终极指南从v3迁移到setup-gradle的无缝过渡技巧创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考