在 Linux 命令行發(fā)送郵件的 5 種方法(推薦)
當(dāng)你需要在 shell 腳本中創(chuàng)建郵件時,就需要用到命令行發(fā)送郵件的知識。Linux 中有很多命令可以實現(xiàn)發(fā)送郵件。本教程中包含了最流行的 5 個命令行郵件客戶端,你可以選擇其中一個。這 5 個命令分別是:
- mail / mailx
- mutt
- mpack
- sendmail
- ssmtp
工作原理
我先從整體上來解釋下 Linux 中郵件命令怎么把郵件傳遞給收件人的。郵件命令撰寫郵件并發(fā)送給一個本地郵件傳輸代理(MTA,如 sendmail、Postfix)。郵件服務(wù)器和遠(yuǎn)程郵件服務(wù)器之間通信以實際發(fā)送和接收郵件。下面的流程可以看得更詳細(xì)。
1) 如何在 Linux 上安裝 mail/mailx 命令
mail 命令是 Linux 終端發(fā)送郵件用的最多的命令。mailx 是 mail 命令的更新版本,基于 Berkeley Mail 8.1,意在提供 POSIX mailx 命令的功能,并支持 MIME、IMAP、POP3、SMTP 和 S/MIME 擴(kuò)展。mailx 在某些交互特性上更加強(qiáng)大,如緩沖郵件消息、垃圾郵件評分和過濾等。在 Linux 發(fā)行版上,mail 命令是 mailx 命令的軟鏈接??梢赃\(yùn)行下面的命令從官方發(fā)行版?zhèn)}庫安裝 mail 命令。
對于 Debian/Ubuntu 系統(tǒng),使用 APT-GET 命令 或 APT 命令 安裝 mailutils。
$ sudo apt-get install mailutils
對于 RHEL/CentOS 系統(tǒng),使用 YUM 命令 安裝 mailx。
$ sudo yum install mailx
對于 Fedora 系統(tǒng),使用 DNF 命令 安裝 mailx。
$ sudo dnf install mailx
1a) 如何在 Linux 上使用 mail 命令發(fā)送郵件
mail 命令簡單易用。如果你不需要發(fā)送附件,使用下面的 mail 命令格式就可以發(fā)送郵件了:
$ echo "This is the mail body" | mail -s "Subject" 2daygeek@gmail.com
如果你要發(fā)送附件,使用下面的 mail 命令格式:
$ echo "This is the mail body" | mail -a test1.txt -s "Subject" 2daygeek@gmail.com
-a:用于在基于 Red Hat 的系統(tǒng)上添加附件。
-A:用于在基于 Debian 的系統(tǒng)上添加附件。
-s:指定消息標(biāo)題。
2) 如何在 Linux 上安裝 mutt 命令
mutt 是另一個很受歡迎的在 Linux 終端發(fā)送郵件的命令。mutt 是一個小而強(qiáng)大的基于文本的程序,用來在 unix 操作系統(tǒng)下閱讀和發(fā)送電子郵件,并支持彩色終端、MIME、OpenPGP 和按郵件線索排序的模式??梢赃\(yùn)行下面的命令從官方發(fā)行版?zhèn)}庫安裝 mutt 命令。
對于 Debian/Ubuntu 系統(tǒng),使用 APT-GET 命令 或 APT 命令 安裝 mutt。
$ sudo apt-get install mutt
對于 RHEL/CentOS 系統(tǒng),使用 YUM 命令 安裝 mutt。
$ sudo yum install mutt
對于 Fedora 系統(tǒng),使用 DNF 命令 安裝 mutt。
$ sudo dnf install mutt
2b) 如何在 Linux 上使用 mutt 命令發(fā)送郵件
mutt 一樣簡單易用。如果你不需要發(fā)送附件,使用下面的 mutt 命令格式就可以發(fā)送郵件了:
$ echo "This is the mail body" | mutt -s "Subject" 2daygeek@gmail.com
如果你要發(fā)送附件,使用下面的 mutt 命令格式:
$ echo "This is the mail body" | mutt -s "Subject" 2daygeek@gmail.com -a test1.txt
3) 如何在 Linux 上安裝 mpack 命令
mpack 是另一個很受歡迎的在 Linux 終端上發(fā)送郵件的命令。mpack 程序會在一個或多個 MIME 消息中對命名的文件進(jìn)行編碼。編碼后的消息被發(fā)送到一個或多個收件人。可以運(yùn)行下面的命令從官方發(fā)行版?zhèn)}庫安裝 mpack 命令。
對于 Debian/Ubuntu 系統(tǒng),使用 APT-GET 命令 或 APT 命令 安裝 mpack。
$ sudo apt-get install mpack
對于 RHEL/CentOS 系統(tǒng),使用 YUM 命令 安裝 mpack。
$ sudo yum install mpack
對于 Fedora 系統(tǒng),使用 DNF 命令 安裝 mpack。
$ sudo dnf install mpack
3a) 如何在 Linux 上使用 mpack 命令發(fā)送郵件
mpack 同樣簡單易用。如果你不需要發(fā)送附件,使用下面的 mpack 命令格式就可以發(fā)送郵件了:
$ echo "This is the mail body" | mpack -s "Subject" 2daygeek@gmail.com
如果你要發(fā)送附件,使用下面的 mpack 命令格式:
$ echo "This is the mail body" | mpack -s "Subject" 2daygeek@gmail.com -a test1.txt
4) 如何在 Linux 上安裝 sendmail 命令
sendmail 是一個上廣泛使用的通用 SMTP 服務(wù)器,你也可以從命令行用 sendmail 發(fā)郵件??梢赃\(yùn)行下面的命令從官方發(fā)行版?zhèn)}庫安裝 sendmail 命令。
對于 Debian/Ubuntu 系統(tǒng),使用 APT-GET 命令 或 APT 命令安裝 sendmail。
$ sudo apt-get install sendmail
對于 RHEL/CentOS 系統(tǒng),使用 YUM 命令 安裝 sendmail。
$ sudo yum install sendmail
對于 Fedora 系統(tǒng),使用 DNF 命令 安裝 sendmail。
$ sudo dnf install sendmail
4a) 如何在 Linux 上使用 sendmail 命令發(fā)送郵件
sendmail 同樣簡單易用。使用下面的 sendmail 命令發(fā)送郵件。
$ 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 的一個只發(fā)送不接收的工具,可以把郵件從本地計算機(jī)傳遞到配置好的 郵件主機(jī)(mailhub)。用戶可以在 Linux 命令行用 ssmtp 把郵件發(fā)送到 SMTP 服務(wù)器??梢赃\(yùn)行下面的命令從官方發(fā)行版?zhèn)}庫安裝 ssmtp 命令。
對于 Debian/Ubuntu 系統(tǒng),使用 APT-GET 命令 或 APT 命令安裝 ssmtp。
$ sudo apt-get install ssmtp
對于 RHEL/CentOS 系統(tǒng),使用 YUM 命令 安裝 ssmtp。
$ sudo yum install ssmtp
對于 Fedora 系統(tǒng),使用 DNF 命令 安裝 ssmtp。
$ sudo dnf install ssmtp
5a) 如何在 Linux 上使用 ssmtp 命令發(fā)送郵件
ssmtp 同樣簡單易用。使用下面的 ssmtp 命令格式發(fā)送郵件。
$ echo -e "Subject: Test Mail\nThis is the mail body" > /tmp/ssmtp-mail.txt $ ssmtp 2daygeek@gmail.com < /tmp/ssmtp-mail.txt
總結(jié)
以上所述是小編給大家介紹的在 Linux 命令行發(fā)送郵件的 5 種方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對我們網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
欄 目:Linux/apache
下一篇:在 Linux 上使用 Multitail命令的教程
本文標(biāo)題:在 Linux 命令行發(fā)送郵件的 5 種方法(推薦)
本文地址:http://mengdiqiu.com.cn/a1/Linux_apache/10616.html
您可能感興趣的文章
- 04-02linux關(guān)閉串口命令 關(guān)閉linux端口命令
- 04-02linux文件命令重命名 linux重命名文件名命令
- 04-02linux命令注入過濾 linux 代碼注入
- 04-02linux中jobs命令 shell jobs命令
- 04-02linux依次執(zhí)行命令 linux命令的執(zhí)行過程是怎樣的?新手必讀
- 04-02linux命令免輸入 linux配置免密登錄
- 04-02linux命令注銷vnc linux命令行注銷用戶
- 04-02軟交換linux命令 軟交換網(wǎng)絡(luò)主要協(xié)議有哪些
- 04-02linux命令歷史記錄 linux查看歷史記錄的操作命令
- 04-02linux命令頁面 linux命令頁面中文


閱讀排行
本欄相關(guān)
- 04-02linux關(guān)閉串口命令 關(guān)閉linux端口命令
- 04-02linux文件命令重命名 linux重命名文件名
- 04-02linux中jobs命令 shell jobs命令
- 04-02linux命令注入過濾 linux 代碼注入
- 04-02linux依次執(zhí)行命令 linux命令的執(zhí)行過程
- 04-02linux命令注銷vnc linux命令行注銷用戶
- 04-02linux命令免輸入 linux配置免密登錄
- 04-02軟交換linux命令 軟交換網(wǎng)絡(luò)主要協(xié)議
- 04-02linux命令歷史記錄 linux查看歷史記錄的
- 04-02linux命令頁面 linux命令頁面中文
隨機(jī)閱讀
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-11ajax實現(xiàn)頁面的局部加載
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 01-10delphi制作wav文件的方法
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 04-02jquery與jsp,用jquery
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-10C#中split用法實例總結(jié)