如果您成为Linux服务器高级用户,关键是多用命令行,少用Gui;多用键盘,少用鼠标! 随着Linux命令行工具越来越多,不仅是管理性的,还有一些非管理性的,其实至关重要的日常工作,都是使用命令行来完成的。
在本文中,我们将学习如何在Linux服务器中使用mail命令发送一封带有文件附件的电子邮件。
前提条件
已经在你的Linux服务器上用SMTP配置了你的电子邮件。这个邮件和服务器将被我们今天要学习的 “邮件 “程序所使用。
mail “这个程序可以用来从命令行发送电子邮件,以及电子邮件的附件。这个程序在默认情况下是不可用的,可以在 Debian 和 Red Hat 发行版中使用以下方法安装。
$ sudo apt install mailutils [在Debian/Ubuntu/Mint系统服务器上]
$ sudo dnf install mailx [在RedHat/centos/Fedora系统服务器上] 。
使用’mail’发送邮件的语法如下。
$ echo “Email Message Body” | mail -s “Subject of the Email” target@domain.com
你可以看到,我们使用echo命令来输出消息正文,并将此输出重定向到’mail’命令。这是因为’mail’命令从标准输入中读取邮件正文的输入。
从命令行发送带有文件附件的电子邮件。
同样的,要在邮件中附加一个文件,可以使用参数’-A’。
$ echo “Email Message Body” | mail -s “Subject of the Email” target@domain.com -A
从命令行发送电子邮件给多个收件人。
要发送邮件给多个收件人,只需指定多个邮件ID,并用逗号分隔。
$ echo “Email Message Body” | mail -s “Subject of the Email” target1@domain.com;target2@domain.com,target3@domain.com -A
要在邮件中包含一个文本文件,而不是使用echo,你可以将文件的文本重定向到如下所示的命令。
$ mail -s “Subject of the Email” target@domain.com -A
我们看到了一种从Linux服务器中的命令行发送电子邮件和附件的方法。还有一些其他的程序,如’mutt’和’Sendmail’,它们与’mail’类似,可以用于同样的目的。