Linux中國

在 Linux 命令行發送郵件的 5 種方法

當你需要在 shell 腳本中創建郵件時,就需要用到命令行發送郵件的知識。Linux 中有很多命令可以實現發送郵件。本教程中包含了最流行的 5 個命令行郵件客戶端,你可以選擇其中一個。這 5 個命令分別是:

  • mail / mailx
  • mutt
  • mpack
  • sendmail
  • ssmtp

工作原理

我先從整體上來解釋下 Linux 中郵件命令怎麼把郵件傳遞給收件人的。郵件命令撰寫郵件並發送給一個本地郵件傳輸代理(MTA,如 sendmail、Postfix)。郵件伺服器和遠程郵件伺服器之間通信以實際發送和接收郵件。下面的流程可以看得更詳細。

1) 如何在 Linux 上安裝 mail/mailx 命令

mail 命令是 Linux 終端發送郵件用的最多的命令。mailxmail 命令的更新版本,基於 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 MailnThis 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 MailnThis is the mail body" > /tmp/ssmtp-mail.txt
$ ssmtp 2daygeek@gmail.com < /tmp/ssmtp-mail.txt

via: https://www.2daygeek.com/6-ways-to-send-email-from-the-linux-command-line/

作者:Magesh Maruthamuthu 選題:lujun9972 譯者:lxbwolf 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國