在 Linux 命令行发送邮件的 5 种方法(推荐)
当你需要在shell脚本中创建邮件时,就需要用到命令行发送邮件的知识。Linux中有很多命令可以实现发送邮件。本教程中包含了最流行的5个命令行邮件客户端,你可以选择其中一个。这5个命令分别是:
- mail/mailx
- mutt
- mpack
- sendmail
- ssmtp
工作原理
我先从整体上来解释下Linux中邮件命令怎么把邮件传递给收件人的。邮件命令撰写邮件并发送给一个本地邮件传输代理(MTA,如sendmail、Postfix)。邮件服务器和远程邮件服务器之间通信以实际发送和接收邮件。下面的流程可以看得更详细。
1)如何在Linux上安装mail/mailx命令
mail命令是Linux终端发送邮件用的最多的命令。mailx是mail命令的更新版本,基于BerkeleyMail8.1,意在提供POSIXmailx命令的功能,并支持MIME、IMAP、POP3、SMTP和S/MIME扩展。mailx在某些交互特性上更加强大,如缓冲邮件消息、垃圾邮件评分和过滤等。在Linux发行版上,mail命令是mailx命令的软链接。可以运行下面的命令从官方发行版仓库安装mail命令。
对于Debian/Ubuntu系统,使用APT-GET命令或APT命令安装mailutils。
$sudoapt-getinstallmailutils
对于RHEL/CentOS系统,使用YUM命令安装mailx。
$sudoyuminstallmailx
对于Fedora系统,使用DNF命令安装mailx。
$sudodnfinstallmailx
1a)如何在Linux上使用mail命令发送邮件
mail命令简单易用。如果你不需要发送附件,使用下面的mail命令格式就可以发送邮件了:
$echo"Thisisthemailbody"|mail-s"Subject"2daygeek@gmail.com
如果你要发送附件,使用下面的mail命令格式:
$echo"Thisisthemailbody"|mail-atest1.txt-s"Subject"2daygeek@gmail.com
-a:用于在基于RedHat的系统上添加附件。
-A:用于在基于Debian的系统上添加附件。
-s:指定消息标题。
2)如何在Linux上安装mutt命令
mutt是另一个很受欢迎的在Linux终端发送邮件的命令。mutt是一个小而强大的基于文本的程序,用来在unix操作系统下阅读和发送电子邮件,并支持彩色终端、MIME、OpenPGP和按邮件线索排序的模式。可以运行下面的命令从官方发行版仓库安装mutt命令。
对于Debian/Ubuntu系统,使用APT-GET命令或APT命令安装mutt。
$sudoapt-getinstallmutt
对于RHEL/CentOS系统,使用YUM命令安装mutt。
$sudoyuminstallmutt
对于Fedora系统,使用DNF命令安装mutt。
$sudodnfinstallmutt
2b)如何在Linux上使用mutt命令发送邮件
mutt一样简单易用。如果你不需要发送附件,使用下面的mutt命令格式就可以发送邮件了:
$echo"Thisisthemailbody"|mutt-s"Subject"2daygeek@gmail.com
如果你要发送附件,使用下面的mutt命令格式:
$echo"Thisisthemailbody"|mutt-s"Subject"2daygeek@gmail.com-atest1.txt
3)如何在Linux上安装mpack命令
mpack是另一个很受欢迎的在Linux终端上发送邮件的命令。mpack程序会在一个或多个MIME消息中对命名的文件进行编码。编码后的消息被发送到一个或多个收件人。可以运行下面的命令从官方发行版仓库安装mpack命令。
对于Debian/Ubuntu系统,使用APT-GET命令或APT命令安装mpack。
$sudoapt-getinstallmpack
对于RHEL/CentOS系统,使用YUM命令安装mpack。
$sudoyuminstallmpack
对于Fedora系统,使用DNF命令安装mpack。
$sudodnfinstallmpack
3a)如何在Linux上使用mpack命令发送邮件
mpack同样简单易用。如果你不需要发送附件,使用下面的mpack命令格式就可以发送邮件了:
$echo"Thisisthemailbody"|mpack-s"Subject"2daygeek@gmail.com
如果你要发送附件,使用下面的mpack命令格式:
$echo"Thisisthemailbody"|mpack-s"Subject"2daygeek@gmail.com-atest1.txt
4)如何在Linux上安装sendmail命令
sendmail是一个上广泛使用的通用SMTP服务器,你也可以从命令行用sendmail发邮件。可以运行下面的命令从官方发行版仓库安装sendmail命令。
对于Debian/Ubuntu系统,使用APT-GET命令或APT命令安装sendmail。
$sudoapt-getinstallsendmail
对于RHEL/CentOS系统,使用YUM命令安装sendmail。
$sudoyuminstallsendmail
对于Fedora系统,使用DNF命令安装sendmail。
$sudodnfinstallsendmail
4a)如何在Linux上使用sendmail命令发送邮件
sendmail同样简单易用。使用下面的sendmail命令发送邮件。
$echo-e"Subject:TestMail\nThisisthemailbody">/tmp/send-mail.txt $sendmail2daygeek@gmail.com
5)如何在Linux上安装ssmtp命令
ssmtp是类似sendmail的一个只发送不接收的工具,可以把邮件从本地计算机传递到配置好的邮件主机(mailhub)。用户可以在Linux命令行用ssmtp把邮件发送到SMTP服务器。可以运行下面的命令从官方发行版仓库安装ssmtp命令。
对于Debian/Ubuntu系统,使用APT-GET命令或APT命令安装ssmtp。
$sudoapt-getinstallssmtp
对于RHEL/CentOS系统,使用YUM命令安装ssmtp。
$sudoyuminstallssmtp
对于Fedora系统,使用DNF命令安装ssmtp。
$sudodnfinstallssmtp
5a)如何在Linux上使用ssmtp命令发送邮件
ssmtp同样简单易用。使用下面的ssmtp命令格式发送邮件。
$echo-e"Subject:TestMail\nThisisthemailbody">/tmp/ssmtp-mail.txt $ssmtp2daygeek@gmail.com总结
以上所述是小编给大家介绍的在Linux命令行发送邮件的5种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。