Linux mail 命令17 Mar 2025 | 5 分钟阅读 Linux的 mail 命令是一个命令行工具,它允许我们从命令行发送电子邮件。如果您想从 shell 脚本或 Web 应用程序以编程方式生成电子邮件,则从命令行发送电子邮件会非常有用。mail 命令可以直接通过终端以及 Shell 脚本使用。但是,Linux 中还有许多其他命令可用于从命令行发送电子邮件,例如 sendmail, mutt, SSMTP, telnet 等。在本节中,我们将重点介绍 mail 命令。 在 Linux 中安装 mail 命令mail 命令可以通过各种软件包进行安装,例如
每个软件包都提供不同的功能和选项。例如,heirloom-matrix 包能够使用外部 smtp 服务器发送消息,而另外两个服务器则使用本地 smtp 服务器。 我们将安装 mailutils 包,这是从命令行发送电子邮件最流行的方式。它支持 mail 命令来发送电子邮件。 要安装 mailutils 包,请执行以下命令 上面的命令将要求输入系统密码,输入密码,然后按 ENTER 键。它将验证安装,输入 'y' 确认安装。请参考下面的输出截图 ![]() 它将启动一个守护进程并要求进行 postfix 配置,请选择您想要的 postfix 选项。 ![]() 安装有四种 postfix 选项。它们如下 ![]() 要选择您想要的选项,请使用 方向键 滚动选项,并使用 TAB + ENTER 键进行选择。Postfix 与服务器交互以处理请求。选择 postfix 选项后,它将在您的机器上成功安装 mailutils 包。 mail 命令是如何工作的?了解命令的工作原理很重要。mailutils 包的 mail 命令调用标准的 sendmail 二进制文件将邮件发送到指定的目的地。它连接到本地 MTA,这是一个正在运行的本地 SMTP 服务器,支持端口 25 上的邮件。 这意味着,要使用 mail 命令,我们的机器上应该运行一个包含 smtp 服务器的 postfix。Postfix 向 DNS 询问要将邮件投递到何处,DNS 回复一个邮件服务器列表并建立一个 SMTP 连接。如果缺少它,我们将收到类似 "send-mail: Cannot open mail:25" 的错误消息。 使用 mail 命令发送邮件从命令行发送邮件是一个直接的过程。要从终端发送邮件,请执行以下命令 '-s' 选项用于指定主题。执行命令后,它会要求输入抄送地址。输入抄送 (carbon copy) 地址;您可以通过按 Enter 键将其留空。输入文本,然后按 CTRL+D 键发送。请参考下面的输出 ![]() 从上面的输出可以看出,邮件将发送到指定的邮件地址。 在单行中指定邮件正文我们可以在一行中指定主题和消息。要在单行中指定消息正文,请执行以下命令 上面的命令将邮件发送到指定的地址。请参考下面的命令 ![]() 或者我们也可以指定命令如下 从文件中提取消息我们也可以从文件中提取消息。如果您想从 shell 脚本或其他程序调用 mail 命令,这很有用。要从文件发送消息,请执行以下命令 上面的命令将发送 mailcontent.txt 文件中的消息。为了快速操作,我们也可以使用以下命令 指定 CC 和 BCC我们还可以在命令中附加 bcc 和 cc 地址。要附加 bcc 和 cc 地址,请分别使用 -b 和 -c 选项。 要添加 bcc 地址,请执行以下命令 要添加 cc 地址,请执行以下命令 另外,我们可以在一个命令中同时指定 cc 和 bcc 地址。执行命令如下 添加多个收件人mail 命令允许我们在不使用 cc 和 bcc 的情况下,在单个邮件中添加多个收件人。要添加多个邮件地址,只需在第一个邮件地址后面加上其他邮件地址,并用逗号 (,) 分隔。请参考下面的命令 上面的命令会将消息发送到两个地址。 指定发件人姓名和地址我们可以添加额外的头信息,例如 'FROM' 姓名和地址,以附加到电子邮件中。要使用 mail 命令指定额外信息,请使用命令的 -a 选项。执行以下命令 上面的命令会将指定的信息发送给接收者。 添加附件我们还可以附加文件到邮件中。-a 选项用于将文件与邮件一起附加。要添加附件,请执行以下命令 上面的命令会将指定路径中的指定文件附加到邮件中。 阅读邮件mail 命令可用于阅读您收到的所有邮件。不过,从命令行阅读邮件并不方便,但为了知识目的,我们可以了解一下。要阅读收件箱中的邮件,请在不带任何选项的情况下执行 mail 命令,如下所示 上面的命令将显示所有收到的邮件。 mail 命令的帮助手册要阅读 mail 命令的帮助手册,请执行 man 命令,如下所示 上面的命令将在您的终端上显示 mail 命令的手册。请参考下面的输出 ![]() 按 'q' 键退出手册,按 'h' 键获取帮助。帮助选项列出了更多可用的选项。请参考下图 ![]() 要退出帮助,请按 'q' 键。 下一主题Linux traceroute |
我们请求您订阅我们的新闻通讯以获取最新更新。