Linux 命令列發送郵件的 5 種方法
當你需要在 shell 腳本中建立郵件時,就需要用到命令列發送郵件的知識。 Linux 中有很多命令可以實現發送郵件。本教學中包含了最受歡迎的 5 個命令列郵件用戶端,你可以選擇其中一個。這5 個指令分別是:
mail / mailx mutt mpack sendmail ssmtp
工作原理
#我先從整體上來解釋下Linux 中郵件指令怎麼把郵件傳遞給收件者的。郵件命令撰寫郵件並發送給一個本地郵件傳輸代理程式(MTA,如 sendmail、Postfix)。郵件伺服器和遠端郵件伺服器之間通訊以實際發送和接收郵件。下面的流程可以看得更詳細。
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 mailx
1a) 如何在 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 mutt
2b) 如何在 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.txt
3 ) 如何在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 mpack
3a) 如何在 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
4 ) 如何在Linux 上安裝sendmail 命令
sendmail 是一個上廣泛使用的通用SMTP 伺服器,你也可以從命令列用 sendmail 發郵件。可以運行下面的命令從官方發行版倉庫安裝 sendmail 命令。
對於 Debian/Ubuntu 系統,使用 APT-GET 指令 或 APT 指令安裝 sendmail。
$ sudo apt-get install sendmail
針對 RHEL/CentOS 系統,使用 YUM 指令 安裝 sendmail。
$ sudo yum install sendmail
適用於 Fedora 系統,使用 DNF 指令 安裝 sendmail。
$ sudo dnf install sendmail
4a) 如何在 Linux 上使用 sendmail 指令傳送郵件
sendmail 同樣簡單易用。使用下面的 sendmail 指令發送郵件。
$ echo -e "Subject: Test Mail\nThis is the mail body" > /tmp/send-mail.txt $ sendmail 2daygeek@gmail.com < send-mail.txt
5) 如何在 Linux 上安裝 ssmtp 指令
#ssmtp 是类似 sendmail 的一个只发送不接收的工具,可以把邮件从本地计算机传递到配置好的 邮件主机(mailhub)。用户可以在 Linux 命令行用 ssmtp 把邮件发送到 SMTP 服务器。可以运行下面的命令从官方发行版仓库安装 ssmtp 命令。
对于 Debian/Ubuntu 系统,使用 APT-GET 命令 或 APT 命令安装 ssmtp。
$ sudo apt-get install ssmtp
对于 RHEL/CentOS 系统,使用 YUM 命令 安装 ssmtp。
$ sudo yum install ssmtp
对于 Fedora 系统,使用 DNF 命令 安装 ssmtp。
$ sudo dnf install ssmtp
5a) 如何在 Linux 上使用 ssmtp 命令发送邮件
ssmtp 同样简单易用。使用下面的 ssmtp 命令格式发送邮件。
$ echo -e "Subject: Test Mail\nThis is the mail body" > /tmp/ssmtp-mail.txt $ ssmtp 2daygeek@gmail.com < /tmp/ssmtp-mail.txt
推荐学习:《linux视频教程》
以上是Linux下發送郵件的方法總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!