从命令行在Linux中发送电子邮件
在本文中,您将学习如何使用常用的邮件命令发送电子邮件。
同样重要的是,您还必须学习如何发送Linux电子邮件附件。
使用的一些命令行选项是:
- -s:表示邮件的主题
- -a:表示附件
- -c:用于复制电子邮件地址(CC)
- -b:用于密件抄送电子邮件地址(BCC)
Linux从命令行发送电子邮件
我们将学习以下命令以在Linux中发送电子邮件。
- mailx
- mutt
- mpack
- sendmail
1.使用邮件命令
Linux邮件命令非常流行,通常用于从命令行发送电子邮件。
Mail分别作为Debian和Redhat系统上mailutils和mailx软件包的一部分安装。
这两个命令在命令行上处理消息。
要在Debian和Ubuntu系统中安装mailutils,请运行:
$sudo apt install mailutils -y
对于CentOS和RedHat发行版,运行:
$yum install mailx
运行命令时,将弹出以下窗口。
按TAB按钮,然后点击"确定"
在下一个窗口中,滚动并点击" Internet Site"。
此后,系统将完成安装过程。
测试邮件命令
如果已成功安装mail命令,请使用以下格式测试应用程序,然后按Enter:
$mail –s "Test Email" email_address
用您的电子邮件地址替换" email_address"。
例如,
$mail –s "Test Email" [email protected]
按" Enter"后,系统将提示您输入抄送(Cc :)地址。
如果您不希望包含复制的地址,请继续并按ENTER键。
接下来,键入消息或者电子邮件正文,然后按Enter。
最后,同时按Ctrl + D键发送电子邮件。
输出
或者,您可以使用echo命令将要发送的消息通过管道传递到mail命令,如下所示。
$echo "sample message" | mail -s "sample mail subject" email_address
例如,
$echo "Hello world" | mail -s "Test" [email protected]
输出
假设您有一个要附加的文件。
我们将其称为" message.txt"文件。
如何处理?使用下面的命令。
$mail -s "subject" -A message.txt email_address
-A标志定义文件的附件。
例如;
$mail -s "Important Notice" -A message.txt [email protected]
输出
要将电子邮件发送给许多收件人,请运行:
$mail –s "test header" email_address email_address2
2.使用mailx命令
Mailx是mail命令的更新版本,在其他实现中以前被称为nail。
Mailx自1986年以来一直存在,并于1992年并入POSIX。
Mailx是Debian邮件复合软件包的一部分,用于各种情况。
用户,系统管理员和开发人员可以使用此邮件实用程序。
mailx的实现也采用与邮件命令行语法相同的形式。
要在Debian/Ubuntu Systems中安装mailx,请运行:
$sudo apt install mailx
要在RedHat和CentOS中安装mailx,请运行:
$yum install mailx
测试Mailx命令
您可以使用echo命令将输出定向到mail命令,而无需提示输入CC和消息正文,如下所示:
$echo "message body" | mail -s "subject" email_address
例如,
$echo "Make the most out of Linux!" | mail -s "Welcome to Linux" [email protected]
3.使用MUTT命令
Mutt是一个轻量级的Linux命令行电子邮件客户端。
与可以执行基本操作的mail命令不同,mutt可以发送文件附件。
Mutt还从POP/IMAP服务器读取电子邮件,并通过终端连接本地用户。
要在Debian/Ubuntu系统中安装mutt,请运行:
$sudo apt install mutt
要在Redhat/CentOS系统中安装mutt,请运行:
$sudo yum install mutt
测试Mutt命令
您可以在电子邮件地址后立即发送带有 </dev/null
的空白消息usign mutt。
$mutt -s "Test Email" email_address < /dev/null
例如,
$mutt -s "Greetings" [email protected] < /dev/null
输出
Mutt命令还可以用于附加文件,如下所示。
$echo "Message body" | mutt -a "/path/to/file.to.attach" -s "subject of message" -- email_address
例如,
$echo "Hey guys! How's it going ?" | mutt -a report.doc -s "Notice !" -- [email protected]
4.使用mpack命令
mpack命令用于将文件编码为MIME消息,并将其发送给一个或者几个收件人,甚至可以用于发布到不同的新闻组。
要在Debian/Ubuntu系统中安装mpack,请运行:
$sudo apt install mpack
要在Redhat/CentOS系统中安装mpack,请运行:
$sudo yum install mpack
测试mpack命令
使用mpack通过命令行发送电子邮件或者附件非常简单:
$mpack -s "Subject here" -a file email_address
例如,
$mpack -s "Sales Report 2019" -a report.doc [email protected]
5,使用sendmail
此命令是许多发行版中使用的另一种流行的SMTP服务器。
要在Debian/Ubuntu系统中安装sendmail,请运行:
$sudo apt install sendmail
要在RedHat/CentOS系统中安装sendmail,请运行:
$sudo yum install sendmail
测试sendmail命令
您可以按照以下说明使用sendmail命令发送电子邮件:
$sendmail email_address < file
例如,我用以下文本创建了一个文件" report.doc":
Hello there !
发送消息的命令为
$sendmail < report.doc [email protected]