溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么用Linux命令行發(fā)電子郵件

發(fā)布時(shí)間:2021-10-22 10:22:49 來(lái)源:億速云 閱讀:254 作者:小新 欄目:系統(tǒng)運(yùn)維

小編給大家分享一下怎么用Linux命令行發(fā)電子郵件,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Linux 提供了幾個(gè)可以讓你通過(guò)終端發(fā)送電子郵件的命令,下面來(lái)展示一些有趣的方法。

Linux 可以用多種方式通過(guò)命令行發(fā)送電子郵件。有一些方法十分簡(jiǎn)單,有一些相對(duì)會(huì)復(fù)雜一些,不過(guò)仍舊提供了很多有用的特性。選擇哪一種方式取決于你想要什么 —— 向同事快速發(fā)送消息,還是向一批人群發(fā)帶有附件的更復(fù)雜的信息。接下來(lái)看一看幾種可行方案:

mail

發(fā)送一條簡(jiǎn)單消息最便捷的 Linux 命令是 mail。假設(shè)你需要提醒老板你今天得早點(diǎn)走,你可以使用這樣的一條命令:

$ echo "Reminder: Leaving at 4 PM today" | mail -s "early departure" myboss

另一種方式是從一個(gè)文件中提取出你想要發(fā)送的文本信息:

$ mail -s "Reminder:Leaving early" myboss < reason4leaving

在以上兩種情況中,你都可以通過(guò) -s 來(lái)為郵件添加標(biāo)題。

sendmail

使用 sendmail 命令可以發(fā)送一封不包含標(biāo)題的快信。(用目標(biāo)收件人替換 recip):

$ echo "leaving now" | sendmail recip

你可以用這條命令發(fā)送一條只有標(biāo)題,沒(méi)有內(nèi)容的信息:

$ echo "Subject: leaving now" | sendmail recip

你也可以用 sendmail 發(fā)送一條包含一條標(biāo)題行的完整信息。不過(guò)使用這個(gè)方法時(shí),你的標(biāo)題行會(huì)被添加到要發(fā)送的文件中,如下例所示:

Subject: Requested lyricsI would just like to say that, in my opinion, longer hair and other flamboyantaffectations of appearance are nothing more ...

你也可以發(fā)送這樣的文件(lyric 文件包含標(biāo)題和正文):

$ sendmail recip < lyrics

sendmain 的輸出也可以很冗長(zhǎng)。如果你感到好奇并希望查看發(fā)送系統(tǒng)和接收系統(tǒng)之間的交互,請(qǐng)?zhí)砑?-v (verbose)選項(xiàng)。

$ sendmail -v recip@emailsite.com < lyrics

mutt

mutt 是通過(guò)命令行發(fā)送郵件的一個(gè)很好的工具,在使用前你需要安裝它。mutt 的一個(gè)很方便的優(yōu)勢(shì)就是它允許你在郵件中添加附件。

使用 mutt 發(fā)送一條快速信息:

$ echo "Please check last night's backups" | mutt -s "backup check" recip

從文件中獲取內(nèi)容:

$ mutt -s "Agenda" recip < agenda

使用 -a 選項(xiàng)在 mutt 中添加附件。你甚至可以添加不止一個(gè)附件 &mdash;&mdash; 如下一條命令所示:

$ mutt -s "Agenda" recip -a agenda -a speakers < msg

在以上的命令中,msg 文件包含了郵件中的正文。如果你沒(méi)有其他補(bǔ)充的內(nèi)容,你可以這樣來(lái)代替之前的命令:

$ echo "" | mutt -s "Agenda" recip -a agenda -a speakers

mutt 另一個(gè)有用的功能是可以添加抄送(-c)和密送(-b)。

$ mutt -s "Minutes from last meeting" recip@somesite.com -c myboss < mins

telnet

如果你想深入了解發(fā)送電子郵件的細(xì)節(jié),你可以使用 telnet 來(lái)進(jìn)行電子郵件交互操作。但正如所說(shuō)的那樣,你需要“學(xué)習(xí)術(shù)語(yǔ)”。郵件服務(wù)器期望一系列命令,其中包括自我介紹(EHLO 命令)、提供發(fā)件人(MAIL FROM 命令)、指定收件人(RCPT TO 命令),然后添加消息(DATA)并以 . 結(jié)束消息。并不是所有的電子郵件服務(wù)器都會(huì)響應(yīng)這些請(qǐng)求。此方法通常僅用于故障排除。

$ telnet emailsite.org 25Trying 192.168.0.12...Connected to emailsite.Escape character is '^]'.220 localhost ESMTP Sendmail 8.15.2/8.15.2/Debian-12; Wed, 12 Jun 2019 16:32:13 -0400; (No UCE/UBE) logging access from: mysite(OK)-mysite [192.168.0.12]EHLO mysite.org                <== introduce yourself250-localhost Hello mysite [127.0.0.1], pleased to meet you250-ENHANCEDSTATUSCODES250-PIPELINING250-EXPN250-VERB250-8BITMIME250-SIZE250-DSN250-ETRN250-AUTH DIGEST-MD5 CRAM-MD5250-DELIVERBY250 HELPMAIL FROM: me@mysite.org       <== 指定發(fā)件人250 2.1.0 shs@mysite.org... Sender okRCPT TO: recip             <== 指定收件人250 2.1.5 recip... Recipient okDATA                   <== 郵件內(nèi)容開(kāi)始354 Enter mail, end with "." on a line by itselfThis is a test message. Please deliver it for me..                  <== 內(nèi)容結(jié)束250 2.0.0 x5CKWDds029287 Message accepted for deliveryquit                   <== 結(jié)束交互

向多個(gè)收件人發(fā)送電子郵件

如果你希望通過(guò) Linux 命令行向一大組收件人發(fā)送電子郵件,你可以使用一個(gè)循環(huán)來(lái)幫助你完成任務(wù),如下面應(yīng)用在 mutt 中的例子:

$ for recip in `cat recips`do    mutt -s "Minutes from May meeting" $recip < May_minutesdone

以上是“怎么用Linux命令行發(fā)電子郵件”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI