📜  Linux邮件命令

📅  最后修改于: 2020-12-09 05:37:28             🧑  作者: Mango

Linux邮件命令

Linux邮件命令是一个命令行实用程序,它使我们可以从命令行发送电子邮件。如果我们要从外壳脚本或Web应用程序以编程方式生成电子邮件,那么从命令行发送电子邮件将非常有用。 mail命令和Shell脚本均可直接由终端使用。但是,Linux中还有许多其他命令可用于从命令行发送电子邮件,例如sendmail,mutt,SSMTP,telnet等。在本节中,我们将重点介绍mail命令。

在Linux中安装mail命令

mail命令可以通过各种软件包来安装,例如:

  • gnu mailutils
  • 传家宝
  • bsd-mailx

每个软件包都具有不同的功能和选项。例如, heirloom-matrix程序包能够使用外部smtp服务器发送消息,而其余两个服务器使用本地smtp服务器。

我们将安装mailutils软件包,这是从命令行发送电子邮件的最流行的方法。它支持mail命令发送电子邮件。

要安装mailutils软件包,请执行以下命令:

sudo apt install mailutils

上面的命令将要求输入系统密码,键入密码,然后按Enter键。它将验证安装,键入“ y”以确认安装。考虑下面的输出快照:

它将启动一个守护进程,并要求配置postfix,然后选择所需的postfix选项。

有四个postfix选项可用于安装。它们如下:

要选择所需的选项,请使用箭头键滚动该选项,然后使用TAB + ENTER键选择它。 Postfix与服务器交互以处理请求。选择postfix选项后,它将成功在您的计算机上安装mailutils软件包。

mail命令如何工作?

重要的是要知道命令的工作方式。 mailutils软件包的mail命令调用标准sendmail二进制文件,以将邮件发送到指定的目的地。它连接到本地MTA,后者是在本地运行的SMTP服务器,支持端口25上的邮件。

这意味着包含smtp服务器的后缀应该在我们的计算机上运行,才能使用mail命令。后缀询问DNS(将邮件传递到的目的地),DNS答复邮件服务器列表并创建SMTP连接。如果丢失,我们将收到错误消息,例如“ send-mail:Cannot open mail:25 ”。

使用mail命令发送邮件

从命令行发送邮件是一个简单的过程。要从终端发送邮件,请执行以下命令:

mail -s "Subject" 

“ -s”选项用于指定主题。执行命令后,它将要求提供抄送地址。输入抄送(抄送)地址;您可以按Enter键将其留空。键入文本,然后按CTRL + D键发送它。考虑以下输出:

从上面的输出中,邮件将被发送到指定的邮件地址。

在一行中指定邮件正文

我们可以在一行中指定主题和消息。要在一行中指定消息正文,请执行以下命令:

mail -s "subject"  <<< 'Message'

上面的命令会将邮件发送到指定的地址。考虑以下命令:

或者我们也可以指定以下命令:

echo "Message body" | mail -s "Subject" aFrom:Dwivedi\ hr@javatpoint.com

从文件中获取消息

我们还可以从文件中获取消息。如果我们想从shell脚本或其他程序中调用mail命令,这将很有用。要从文件发送消息,请执行以下命令:

mail -s "Hello World" user@yourmaildomain.com < /home/mail/mailcontent.txt

上面的命令将从文件mailcontent.txt发送消息。为了快速起见,我们还可以使用以下命令:

$ echo "Message body" | mail -s "Subject" 

指定抄送和密件抄送

我们还可以在命令中附加密件抄送和抄送地址。要附加密件抄送和抄送地址,请分别使用-b和-c选项。

要添加密件抄送地址,请执行以下命令:

mail -s "Hello World"  -b userto< bcc address>

要添加抄送地址,请执行以下命令:

mail -s "Hello World"  -c userto< cc address>

同样,我们可以在一个命令中同时指定cc和bcc地址。执行以下命令:

mail -s "Hello World"  -b userto< bcc address> -c userto

添加多个收件人

mail命令使我们可以在单个邮件中添加多个收件人,而cc和bcc除外。要添加多个邮件地址,只需将其他邮件地址放在第一个邮件地址之后,然后是逗号。考虑以下命令:

mail -s "Hello World" ,

上面的命令会将邮件传递到两个地址。

指定发件人姓名和地址

我们可以添加附加的标题信息,例如“ FROM”的名称和地址,以附加在电子邮件中。要通过mail命令指定其他信息,请在命令中使用-a选项。执行以下命令:

$ echo "Message body" | mail -s "Subject" -aFrom:Sender_name\ recipient address

上面的命令将指定的信息传递给接收者。

添加附件

我们还可以在邮件中附加文件。 -a选项用于将文件与邮件一起附加。要添加附件,请执行以下命令:

 echo "Message body" | mail -s "Subject" -r "" -a /path/to/file 

上面的命令将使用邮件从指定路径附加指定文件。

阅读邮件

mail命令可用于读取所有收到的邮件。但是,从命令行读取邮件不是很酷,但是我们可以理解它以了解知识。要阅读收件箱中的邮件,请执行不带任何选项的mail命令,如下所示:

mail

上面的命令将显示所有传入的邮件。

邮件命令手册

要阅读mail命令的手册,请按以下方式执行man命令:

man mail

上面的命令将在您的终端上显示mail命令的手册。考虑以下输出:

按“ q”键退出手册,按“ h”键寻求帮助。帮助选项列出了更多可以帮助您的选项。考虑下图:

要退出帮助,请按“ q”键。