如何用Linux命令行發(fā)電子郵件

2021-03-04    分類: 網(wǎng)站建設(shè)

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

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

mail

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

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

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

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

在以上兩種情況中,你都可以通過 -s 來為郵件添加標題。

sendmail

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

  1. $ echo "leaving now" | sendmail recip

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

  1. $ echo "Subject: leaving now" | sendmail recip

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

  1. Subject: Requested lyrics
  2. I would just like to say that, in my opinion, longer hair and other flamboyant
  3. affectations of appearance are nothing more ...

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

  1. $ sendmail recip < lyrics

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

  1. $ sendmail -v recip@emailsite.com < lyrics

mutt

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

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

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

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

  1. $ mutt -s "Agenda" recip < agenda

使用 -a 選項在 mutt 中添加附件。你甚至可以添加不止一個附件 —— 如下一條命令所示:

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

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

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

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

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

telnet

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

  1. $ telnet emailsite.org 25
  2. Trying 192.168.0.12...
  3. Connected to emailsite.
  4. Escape character is '^]'.
  5. 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]
  6. EHLO mysite.org <== introduce yourself
  7. 250-localhost Hello mysite [127.0.0.1], pleased to meet you
  8. 250-ENHANCEDSTATUSCODES
  9. 250-PIPELINING
  10. 250-EXPN
  11. 250-VERB
  12. 250-8BITMIME
  13. 250-SIZE
  14. 250-DSN
  15. 250-ETRN
  16. 250-AUTH DIGEST-MD5 CRAM-MD5
  17. 250-DELIVERBY
  18. 250 HELP
  19. MAIL FROM: me@mysite.org <== 指定發(fā)件人
  20. 250 2.1.0 shs@mysite.org... Sender ok
  21. RCPT TO: recip <== 指定收件人
  22. 250 2.1.5 recip... Recipient ok
  23. DATA <== 郵件內(nèi)容開始
  24. 354 Enter mail, end with "." on a line by itself
  25. This is a test message. Please deliver it for me.
  26. . <== 內(nèi)容結(jié)束
  27. 250 2.0.0 x5CKWDds029287 Message accepted for delivery
  28. quit <== 結(jié)束交互

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

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

  1. $ for recip in `cat recips`
  2. do
  3. mutt -s "Minutes from May meeting" $recip < May_minutes
  4. done

總結(jié)

有很多方法可以從 Linux 命令行發(fā)送電子郵件。有些工具提供了相當(dāng)多的選項。

文章題目:如何用Linux命令行發(fā)電子郵件
本文鏈接:http://muchs.cn/news39/104239.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、面包屑導(dǎo)航全網(wǎng)營銷推廣、商城網(wǎng)站、域名注冊、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)