在 Linux 命令行发送邮件的 5 种方法


在 Linux 命令行发送邮件的 5 种方法

文章插图
 
当你需要在 shell 脚本中创建邮件时 , 就需要用到命令行发送邮件的知识 。linux 中有很多命令可以实现发送邮件 。-- Magesh Maruthamuthu(作者)
当你需要在 shell 脚本中创建邮件时 , 就需要用到命令行发送邮件的知识 。Linux 中有很多命令可以实现发送邮件 。本教程中包含了最流行的 5 个命令行邮件客户端 , 你可以选择其中一个 。这 5 个命令分别是:
  • mail / mailx
  • mutt
  • mpack
  • sendmail
  • ssmtp
工作原理我先从整体上来解释下 Linux 中邮件命令怎么把邮件传递给收件人的 。邮件命令撰写邮件并发送给一个本地邮件传输代理(MTA , 如 sendmail、Postfix) 。邮件服务器和远程邮件服务器之间通信以实际发送和接收邮件 。下面的流程可以看得更详细 。
在 Linux 命令行发送邮件的 5 种方法

文章插图
 
1) 如何在 Linux 上安装 mail/mailx 命令mail 命令是 Linux 终端发送邮件用的最多的命令 。mailx 是 mail 命令的更新版本 , 基于 Berkeley Mail 8.1 , 意在提供 POSIX mailx 命令的功能 , 并支持 MIME、IMAP、POP3、SMTP 和 S/MIME 扩展 。mailx 在某些交互特性上更加强大 , 如缓冲邮件消息、垃圾邮件评分和过滤等 。在 Linux 发行版上 , mail 命令是 mailx 命令的软链接 。可以运行下面的命令从官方发行版仓库安装 mail 命令 。
对于 Debian/Ubuntu 系统 , 使用 APT-GET 命令 或 APT 命令 安装 mailutils 。
$ sudo apt-get install mailutils对于 RHEL/centos 系统 , 使用 YUM 命令 安装 mailx 。
$ sudo yum install mailx对于 Fedora 系统 , 使用 DNF 命令 安装 mailx 。
$ sudo dnf install mailx1a) 如何在 Linux 上使用 mail 命令发送邮件mail 命令简单易用 。如果你不需要发送附件 , 使用下面的 mail 命令格式就可以发送邮件了:
$ echo "This is the mail body" | mail -s "Subject" 2daygeek@gmail.com如果你要发送附件 , 使用下面的 mail 命令格式:
$ echo "This is the mail body" | mail -a test1.txt -s "Subject" 2daygeek@gmail.com
  • -a:用于在基于 Red Hat 的系统上添加附件 。
  • -A:用于在基于 Debian 的系统上添加附件 。
  • -s:指定消息标题 。
2) 如何在 Linux 上安装 mutt 命令mutt 是另一个很受欢迎的在 Linux 终端发送邮件的命令 。mutt 是一个小而强大的基于文本的程序 , 用来在 unix 操作系统下阅读和发送电子邮件 , 并支持彩色终端、MIME、OpenPGP 和按邮件线索排序的模式 。可以运行下面的命令从官方发行版仓库安装 mutt 命令 。
对于 Debian/Ubuntu 系统 , 使用 APT-GET 命令 或 APT 命令 安装 mutt 。
$ sudo apt-get install mutt对于 RHEL/CentOS 系统 , 使用 YUM 命令 安装 mutt 。
$ sudo yum install mutt对于 Fedora 系统 , 使用 DNF 命令 安装 mutt 。
$ sudo dnf install mutt2b) 如何在 Linux 上使用 mutt 命令发送邮件mutt 一样简单易用 。如果你不需要发送附件 , 使用下面的 mutt 命令格式就可以发送邮件了:
$ echo "This is the mail body" | mutt -s "Subject" 2daygeek@gmail.com如果你要发送附件 , 使用下面的 mutt 命令格式:
$ echo "This is the mail body" | mutt -s "Subject" 2daygeek@gmail.com -a test1.txt3) 如何在 Linux 上安装 mpack 命令mpack 是另一个很受欢迎的在 Linux 终端上发送邮件的命令 。mpack 程序会在一个或多个 MIME 消息中对命名的文件进行编码 。编码后的消息被发送到一个或多个收件人 。可以运行下面的命令从官方发行版仓库安装 mpack 命令 。
对于 Debian/Ubuntu 系统 , 使用 APT-GET 命令 或 APT 命令 安装 mpack 。
$ sudo apt-get install mpack对于 RHEL/CentOS 系统 , 使用 YUM 命令 安装 mpack 。
$ sudo yum install mpack对于 Fedora 系统 , 使用 DNF 命令 安装 mpack 。
$ sudo dnf install mpack3a) 如何在 Linux 上使用 mpack 命令发送邮件mpack 同样简单易用 。如果你不需要发送附件 , 使用下面的 mpack 命令格式就可以发送邮件了:
$ echo "This is the mail body" | mpack -s "Subject" 2daygeek@gmail.com如果你要发送附件 , 使用下面的 mpack 命令格式:
$ echo "This is the mail body" | mpack -s "Subject" 2daygeek@gmail.com -a test1.txt


推荐阅读