linux 命令行發(fā)送郵件的 5 種方法
當(dāng)你需要在 shell 腳本中創(chuàng)建郵件時(shí),就需要用到命令行發(fā)送郵件的知識(shí)。linux 中有很多命令可以實(shí)現(xiàn)發(fā)送郵件。本教程中包含了最流行的 5 個(gè)命令行郵件客戶端,你可以選擇其中一個(gè)。這 5 個(gè)命令分別是:
mail?/?mailx mutt mpack sendmail ssmtp
工作原理
我先從整體上來解釋下 Linux 中郵件命令怎么把郵件傳遞給收件人的。郵件命令撰寫郵件并發(fā)送給一個(gè)本地郵件傳輸代理(MTA,如 sendmail、Postfix)。郵件服務(wù)器和遠(yuǎn)程郵件服務(wù)器之間通信以實(shí)際發(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?是另一個(gè)很受歡迎的在 Linux 終端發(fā)送郵件的命令。mutt?是一個(gè)小而強(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?是另一個(gè)很受歡迎的在 Linux 終端上發(fā)送郵件的命令。mpack?程序會(huì)在一個(gè)或多個(gè) MIME 消息中對命名的文件進(jìn)行編碼。編碼后的消息被發(fā)送到一個(gè)或多個(gè)收件人??梢赃\(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 是一個(gè)上廣泛使用的通用 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?MailnThis?is?the?mail?body"?>?/tmp/send-mail.txt? $?sendmail?2daygeek@gmail.com?<p><strong>5) 如何在 Linux 上安裝 ssmtp 命令</strong></p><p>ssmtp?是類似?sendmail?的一個(gè)只發(fā)送不接收的工具,可以把郵件從本地計(jì)算機(jī)傳遞到配置好的 郵件主機(jī)(mailhub)。用戶可以在 Linux 命令行用?ssmtp?把郵件發(fā)送到 SMTP 服務(wù)器。可以運(yùn)行下面的命令從官方發(fā)行版?zhèn)}庫安裝?ssmtp?命令。</p><p>對于 Debian/Ubuntu 系統(tǒng),使用?APT-GET 命令?或?APT 命令安裝 ssmtp。</p><pre class="brush:php;toolbar:false">$?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?MailnThis?is?the?mail?body"?>?/tmp/ssmtp-mail.txt $?ssmtp?2daygeek@gmail.com?<p>推薦學(xué)習(xí):《<a href="https://www.php.cn/course/list/33.html" target="_blank">linux視頻教程</a>》<br></p>