您好,登錄后才能下訂單哦!
小編給大家分享一下怎么用Linux命令行發電子郵件,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
Linux 提供了幾個可以讓你通過終端發送電子郵件的命令,下面來展示一些有趣的方法。
Linux 可以用多種方式通過命令行發送電子郵件。有一些方法十分簡單,有一些相對會復雜一些,不過仍舊提供了很多有用的特性。選擇哪一種方式取決于你想要什么 —— 向同事快速發送消息,還是向一批人群發帶有附件的更復雜的信息。接下來看一看幾種可行方案:
發送一條簡單消息最便捷的 Linux 命令是 mail
。假設你需要提醒老板你今天得早點走,你可以使用這樣的一條命令:
$ echo "Reminder: Leaving at 4 PM today" | mail -s "early departure" myboss
另一種方式是從一個文件中提取出你想要發送的文本信息:
$ mail -s "Reminder:Leaving early" myboss < reason4leaving
在以上兩種情況中,你都可以通過 -s
來為郵件添加標題。
使用 sendmail
命令可以發送一封不包含標題的快信。(用目標收件人替換 recip
):
$ echo "leaving now" | sendmail recip
你可以用這條命令發送一條只有標題,沒有內容的信息:
$ echo "Subject: leaving now" | sendmail recip
你也可以用 sendmail
發送一條包含一條標題行的完整信息。不過使用這個方法時,你的標題行會被添加到要發送的文件中,如下例所示:
Subject: Requested lyricsI would just like to say that, in my opinion, longer hair and other flamboyantaffectations of appearance are nothing more ...
你也可以發送這樣的文件(lyric
文件包含標題和正文):
$ sendmail recip < lyrics
sendmain
的輸出也可以很冗長。如果你感到好奇并希望查看發送系統和接收系統之間的交互,請添加 -v
(verbose)選項。
$ sendmail -v recip@emailsite.com < lyrics
mutt
是通過命令行發送郵件的一個很好的工具,在使用前你需要安裝它。mutt
的一個很方便的優勢就是它允許你在郵件中添加附件。
使用 mutt
發送一條快速信息:
$ echo "Please check last night's backups" | mutt -s "backup check" recip
從文件中獲取內容:
$ mutt -s "Agenda" recip < agenda
使用 -a
選項在 mutt
中添加附件。你甚至可以添加不止一個附件 —— 如下一條命令所示:
$ mutt -s "Agenda" recip -a agenda -a speakers < msg
在以上的命令中,msg
文件包含了郵件中的正文。如果你沒有其他補充的內容,你可以這樣來代替之前的命令:
$ echo "" | mutt -s "Agenda" recip -a agenda -a speakers
mutt
另一個有用的功能是可以添加抄送(-c
)和密送(-b
)。
$ mutt -s "Minutes from last meeting" recip@somesite.com -c myboss < mins
如果你想深入了解發送電子郵件的細節,你可以使用 telnet
來進行電子郵件交互操作。但正如所說的那樣,你需要“學習術語”。郵件服務器期望一系列命令,其中包括自我介紹(EHLO
命令)、提供發件人(MAIL FROM
命令)、指定收件人(RCPT TO
命令),然后添加消息(DATA
)并以 .
結束消息。并不是所有的電子郵件服務器都會響應這些請求。此方法通常僅用于故障排除。
$ 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 <== 指定發件人250 2.1.0 shs@mysite.org... Sender okRCPT TO: recip <== 指定收件人250 2.1.5 recip... Recipient okDATA <== 郵件內容開始354 Enter mail, end with "." on a line by itselfThis is a test message. Please deliver it for me.. <== 內容結束250 2.0.0 x5CKWDds029287 Message accepted for deliveryquit <== 結束交互
如果你希望通過 Linux 命令行向一大組收件人發送電子郵件,你可以使用一個循環來幫助你完成任務,如下面應用在 mutt
中的例子:
$ for recip in `cat recips`do mutt -s "Minutes from May meeting" $recip < May_minutesdone
以上是“怎么用Linux命令行發電子郵件”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。