关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

在Linux服务器中用mail命令发送带附件的邮件

发布时间:2023/11/2 12:52:31
香港云服务器

如果您成为Linux服务器高级用户,关键是多用命令行,少用GUI;多用键盘,少用鼠标! 随着Linux命令行工具越来越多,不仅是管理性的,还有一些非管理性的,其实至关重要的日常工作,都是使用命令行来完成的。

在本文中,我们将学习如何在Linux服务器中使用mail命令发送一封带有文件附件的电子邮件。

前提条件

已经在你的Linux服务器上用SMTP配置了你的电子邮件。这个邮件和服务器将被我们今天要学习的 "邮件 "程序所使用。

在Linux中从命令行发送电子邮件

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  < mailtext.txt

我们看到了一种从Linux服务器中的命令行发送电子邮件和附件的方法。还有一些其他的程序,如'mutt'和'Sendmail',它们与'mail'类似,可以用于同样的目的。