成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

在 Linux 命令行中收發(fā) Gmail 郵件

運(yùn)維 系統(tǒng)運(yùn)維
當(dāng)今我們大多數(shù)人使用的都是托管電子郵件賬號(hào),在這種使用場景中并不會(huì)與電子郵件協(xié)議發(fā)生過多的直接交互。而 Mutt(以及更早的 ELM)是在更簡單的時(shí)代創(chuàng)建的,那時(shí)候檢查郵件只是對(duì) uucp 的調(diào)用,以及對(duì) /var/mail 的讀取。

即使你用的是諸如 Gmail 的托管郵件服務(wù),你也可以通過 Mutt 在終端里收發(fā)電子郵件。

我喜歡在 Linux 終端上讀寫電子郵件的便捷,因此我是 Mutt 這個(gè)輕量簡潔的電子郵件客戶端的忠實(shí)用戶。對(duì)于電子郵件服務(wù)來說,不同的系統(tǒng)配置和網(wǎng)絡(luò)接入并不會(huì)造成什么影響。這個(gè)客戶端通常隱藏在我 Linux 終端的 某個(gè)標(biāo)簽頁或者某個(gè)終端復(fù)用器的面板 上,需要用的時(shí)候隨時(shí)可以調(diào)出來,不需要使用的時(shí)候放到后臺(tái),就不需要在桌面上一直放置一個(gè)電子郵件客戶端的應(yīng)用程序。

[[410791]]

當(dāng)今我們大多數(shù)人使用的都是托管電子郵件賬號(hào),在這種使用場景中并不會(huì)與電子郵件協(xié)議發(fā)生過多的直接交互。而 Mutt(以及更早的 ELM)是在更簡單的時(shí)代創(chuàng)建的,那時(shí)候檢查郵件只是對(duì) uucp 的調(diào)用,以及對(duì) /var/mail 的讀取。當(dāng)然 Mutt 也很與時(shí)俱進(jìn),隨著各種流行的協(xié)議(如 POP、IMAP、LDAP)出現(xiàn),它都實(shí)現(xiàn)了良好的支持。因此,即使我們使用的是 Gmail 這種郵件服務(wù),也可以與 Mutt 無縫銜接。

如今在大多數(shù)情況下,用戶都不會(huì)擁有自己的電子郵件服務(wù)器,大部分用戶都會(huì)選擇 Gmail,因此下文會(huì)以 Mutt + Gmail 為例作介紹。如果你比較注重電子郵件隱私,不妨考慮 ProtonMail 或者 Tutanota,它們都提供完全加密的電子郵件服務(wù)。其中 Tutanota 包含很多 開源組件,而 ProtonMail 則為付費(fèi)用戶提供 IMAP 橋接,簡化了在非瀏覽器環(huán)境下的郵件訪問。不過,很多公司、學(xué)校和組織都沒有自己的電子郵件服務(wù),而是使用 Gmail 提供的郵件服務(wù),這樣一來,大部分用戶都會(huì)有一個(gè) Gmail 郵箱。

當(dāng)然,如果你自己就 擁有電子郵件服務(wù)器,那么使用 Mutt 就更簡單了。下面我們開始介紹。

安裝 Mutt

在 Linux 系統(tǒng)上,一般可以直接從發(fā)行版提供的軟件庫中安裝 Mutt,另外需要在家目錄中創(chuàng)建一個(gè) .mutt 目錄以存放配置文件:

 

  1. $ sudo dnf install mutt 
  2. $ mkdir ~/.mutt 

在 MacOS 上,可以通過 MacPorts 或者 Homebrew 安裝;在 Windows 上則可以使用 Chocolatey 安裝。

Mutt 是一個(gè)郵件用戶代理Mail User Agent(MUA),因此它的作用是讀取、編寫以及向外部郵件池發(fā)送郵件。向郵件服務(wù)器實(shí)際傳輸郵件是其它應(yīng)用或郵件服務(wù)的工作,盡管它們可以和 Mutt 進(jìn)行協(xié)作,讓我們看起來是 Mutt 完成了所有功能,但實(shí)際上并非如此。在弄懂了兩者之間的區(qū)別之后,我們會(huì)對(duì) Mutt 的配置更加清楚。

這也是為什么除了 Mutt 之外,我們還需要視乎進(jìn)行通信的服務(wù)種類選擇一些輔助應(yīng)用程序。在本文中我使用的是 IMAP 服務(wù),這可以讓我本地的電子郵件副本與電子郵件服務(wù)提供商的遠(yuǎn)程郵件副本保持同步。如果你選擇 POP 服務(wù),配置的難度就更下一個(gè)臺(tái)階了,也無需依賴其它外部工具。我們需要 OfflineIMAP 這個(gè) Python 應(yīng)用程序來實(shí)現(xiàn) IMAP 的集成,這個(gè)應(yīng)用程序可以在 它的 GitHub 存儲(chǔ)庫 獲取。

OfflineIMAP 目前仍然在從 Python 2 移植到 Python 3,目前需要手動(dòng)安裝,但以后你也可以通過 python3 -m pip 命令進(jìn)行安裝。

OfflineIMAP 依賴于 imaplib2 庫,這個(gè)庫也在努力開發(fā)當(dāng)中,所以我更喜歡手動(dòng)安裝。同樣地,也是通過 Git 將代碼庫克隆到本地,進(jìn)入目錄后使用 pip 安裝。

首先安裝 rfc6555 依賴:

  1. $ python3 -m pip install --user rfc6555 

然后從源碼安裝 imaplib2:

  1. $ git clone git@github.com:jazzband/imaplib2.git 
  2. $ pushd imaplib2.git 
  3. $ python3 -m pip install --upgrade --user . 
  4. $ popd 

最后從源碼安裝 OfflineIMAP:

  1. $ git clone git@github.com:OfflineIMAP/offlineimap3.git 
  2. $ pushd offlineimap3.git 
  3. $ python3 -m pip install --upgrade --user . 
  4. $ popd 

如果你使用的是 Windows 上的 Cygwin,那么你還需要安裝 Portlocker。

配置 OfflineIMAP

OfflineIMAP 默認(rèn)使用 ~/.offlineimaprc 這個(gè)配置文件,在它的代碼庫中會(huì)有一個(gè)名為 offlineimap.conf 的配置模板,可以直接將其移動(dòng)到家目錄下:

  1. $ mv offlineimap3.git/offlineimap.conf ~/.offlineimaprc` 

你可以使用任何文本編輯器打開瀏覽這個(gè)配置文件,它的注釋很完善,便于了解各個(gè)可用的配置項(xiàng)。

以下是我的 .offlineimaprc 配置文件,為了清晰起見,我把其中的注釋去掉了。對(duì)于你來說其中有些配置項(xiàng)的值可能會(huì)略有不同,但或許會(huì)為你的配置帶來一些啟發(fā):

  1. [general] 
  2. ui = ttyui 
  3. accounts = %your-gmail-username% 
  4. pythonfile = ~/.mutt/password_prompt.py 
  5. fsync = False 
  6. [Account %your-gmail-username%] 
  7. localrepository = %your-gmail-username%-Local 
  8. remoterepository = %your-gmail-username%-Remote 
  9. status_backend = sqlite 
  10. postsynchook = notmuch new 
  11. [Repository %your-gmail-username%-Local
  12. type = Maildir 
  13. localfolders = ~/.mail/%your-gmail-username%-gmail.com 
  14. nametrans = lambda folder: {'drafts':  '[Gmail]/Drafts'
  15.                             'sent':    '[Gmail]/Sent Mail'
  16.                             'flagged''[Gmail]/Starred'
  17.                             'trash':   '[Gmail]/Trash'
  18.                             'archive''[Gmail]/All Mail'
  19.                             }.get(folder, folder) 
  20. [Repository %your-gmail-username%-Remote] 
  21. maxconnections = 1 
  22. type = Gmail 
  23. remoteuser = %your-gmail-username%@gmail.com 
  24. remotepasseval = '%your-gmail-API-password%' 
  25. ## remotepasseval = get_api_pass() 
  26. sslcacertfile = /etc/ssl/certs/ca-bundle.crt 
  27. realdelete = no 
  28. nametrans = lambda folder: {'[Gmail]/Drafts':    'drafts'
  29.                             '[Gmail]/Sent Mail''sent'
  30.                             '[Gmail]/Starred':   'flagged'
  31.                             '[Gmail]/Trash':     'trash'
  32.                             '[Gmail]/All Mail':  'archive'
  33.                             }.get(folder, folder) 
  34. folderfilter = lambda folder: folder not in ['[Gmail]/Trash'
  35.                                              '[Gmail]/Important'
  36.                                              '[Gmail]/Spam'
  37.                                              ] 

配置文件里有兩個(gè)可以替換的值,分別是 %your-gmail-username% 和 %your-gmail-API-password%。其中第一個(gè)值需要替換為 Gmail 用戶名,也就是郵件地址中 @gmail.com 左邊的部分。而第二個(gè)值則需要通過雙因素身份驗(yàn)證(2FA)后從 Google 獲取(即使你在查收郵件時(shí)不需要使用 2FA)。

為 Gmail 設(shè)置雙因素身份驗(yàn)證(2FA)

Google 希望用戶通過 Gmail 網(wǎng)站收發(fā)電子郵件,因此當(dāng)你在 Gmail 網(wǎng)站以外操作電子郵件時(shí),實(shí)際上是被 Google 作為“開發(fā)者”看待(盡管你沒有進(jìn)行任何開發(fā)工作)。也就是說,Google 會(huì)認(rèn)為你正在創(chuàng)建一個(gè)應(yīng)用程序。要獲得開發(fā)者層面的應(yīng)用程序密碼,就必須設(shè)置雙因素身份驗(yàn)證。完成了這個(gè)過程以后,就可以獲得一個(gè)應(yīng)用程序密碼,Mutt 可以通過這個(gè)密碼在瀏覽器以外的環(huán)境登錄到你的電子郵箱中。

為了安全起見,你還可以在 Google 的 賬號(hào)安全 頁面中添加一個(gè)用于找回的電子郵件地址。

在賬號(hào)安全頁面中,點(diǎn)擊“兩步驗(yàn)證2-step Verification”開始設(shè)置 2FA,設(shè)置過程中需要用到一部手機(jī)。

激活 2FA 之后,賬號(hào)安全頁面中會(huì)出現(xiàn)“應(yīng)用程序密碼App Passwords”選項(xiàng),點(diǎn)擊就可以為 Mutt 創(chuàng)建一個(gè)新的應(yīng)用程序密碼。在 Google 生成密碼之后,將其替換 .offlineimaprc 配置文件中的 %your-gmail-API-password% 值。

直接將應(yīng)用程序密碼記錄在 .offlineimaprc 文件中,這種以純文本形式存儲(chǔ)的做法有一定的風(fēng)險(xiǎn)。長期以來我都是這樣做的,而且感覺良好,因?yàn)槲业募夷夸浭羌用艿摹5鲇诎踩紤],我現(xiàn)在已經(jīng)改為使用 GnuPG 加密應(yīng)用程序密碼,這部分內(nèi)容不在本文的討論范圍,關(guān)于如何設(shè)置 GPG 密碼集成,可以參考我的 另一篇文章。

在 Gmail 啟用 IMAP

在你永遠(yuǎn)告別 Gmail 網(wǎng)頁界面之前,還有最后一件事:你必須啟用 Gmail 賬戶的 IMAP 訪問。

在 Gmail 網(wǎng)站頁面中,點(diǎn)擊右上角的“cog”圖標(biāo),選擇“查看所有設(shè)置See all settings”。在 Gmail 設(shè)置頁面中,點(diǎn)擊“POP/IMAP”標(biāo)簽頁,并選中“啟用 IMAPenable IMAP”,然后保存設(shè)置。

現(xiàn)在就可以在瀏覽器以外訪問你的 Gmail 電子郵件了。

配置 Mutt

Mutt 的配置過程相對(duì)簡單。和 .bashrc、.zshrc、.emacs 這些配置文件一樣,網(wǎng)絡(luò)上有很多優(yōu)秀的 .muttrc 配置文件可供參照。我自己的 .muttrc 配置文件則借鑒了 Kyle Rankin、Paul Frields 等人的配置項(xiàng)和想法。下面列出我的配置文件的一些要點(diǎn):

  1. set ssl_starttls=yes 
  2. set ssl_force_tls=yes 
  3. set from='tux@example.com' 
  4. set realname='Tux Example' 
  5. set folder = imaps://imap.gmail.com/ 
  6. set spoolfile = imaps://imap.gmail.com/INBOX 
  7. set postponed="imaps://imap.gmail.com/[Gmail]/Drafts" 
  8. set smtp_url="smtp://smtp.gmail.com:25" 
  9. set move = no 
  10. set imap_keepalive = 900 
  11. set record="imaps://imap.gmail.com/[Gmail]/Sent Mail" 
  12. # Paths 
  13. set folder           = ~/.mail 
  14. set alias_file       = ~/.mutt/alias 
  15. set header_cache     = "~/.mutt/cache/headers" 
  16. set message_cachedir = "~/.mutt/cache/bodies" 
  17. set certificate_file = ~/.mutt/certificates 
  18. set mailcap_path     = ~/.mutt/mailcap 
  19. set tmpdir           = ~/.mutt/temp 
  20. set signature        = ~/.mutt/sig 
  21. set sig_on_top       = yes 
  22. # Basic Options 
  23. set wait_key = no 
  24. set mbox_type = Maildir 
  25. unset move               # gmail does that 
  26. # Sidebar Patch 
  27. set sidebar_visible = yes 
  28. set sidebar_width   = 16 
  29. color sidebar_new color221 color233 
  30. ## Account Settings 
  31. Default inbox 
  32. set spoolfile = "+example.com/INBOX" 
  33. # Mailboxes to show in the sidebar. 
  34. mailboxes +INBOX \ 
  35.           +sent \ 
  36.           +drafts 
  37. # Other special folder 
  38. set postponed = "+example.com/drafts" 
  39. # navigation 
  40. macro index gi "<change-folder>=example.com/INBOX<enter>" "Go to inbox" 
  41. macro index gt "<change-folder>=example.com/sent" "View sent" 

整個(gè)配置文件基本是開箱即用的,只需要將其中的 Tux Example和 example.com 替換為你的實(shí)際值,并將其保存為 ~/.mutt/muttrc 就可以使用了。

啟動(dòng) Mutt

在啟動(dòng) Mutt 之前,需要先啟動(dòng) offlineimap 將遠(yuǎn)程郵件服務(wù)器上的郵件同步到本地。在首次啟動(dòng)的時(shí)候耗時(shí)可能會(huì)比較長,只需要讓它整晚運(yùn)行直到同步完成就可以了。

在同步完成后,啟動(dòng) Mutt:

  1. $ mutt 

Mutt 會(huì)提示你打開用于管理電子郵件的目錄權(quán)限,并展示收件箱的視圖。

 

 

Mutt email client

 

學(xué)習(xí)使用 Mutt

在學(xué)習(xí)使用 Mutt 的過程中,你可以找到最符合你使用習(xí)慣的 .muttrc 配置。例如我的 .muttrc 配置文件集成了使用 Emacs 編寫郵件、使用 LDAP 搜索聯(lián)系人、使用 GnuPG 對(duì)郵件進(jìn)行加解密、鏈接獲取、HTML 視圖等等一系列功能。你可以讓 Mutt 做到任何你想讓它做到的事情,你越探索,就能發(fā)現(xiàn)越多。

責(zé)任編輯:未麗燕 來源: Linux中國
相關(guān)推薦

2019-12-11 11:25:48

Linux命令行郵件

2022-10-25 13:01:36

Linux命令行空目錄

2015-03-09 09:44:35

GmailiOS

2021-07-15 13:32:12

Linux生成密碼

2021-07-15 13:25:43

LinuxPDF

2019-06-26 18:30:30

Linux命令行電子郵件

2009-08-04 10:06:37

如何進(jìn)入linux命令linux系統(tǒng)linux

2018-07-12 16:22:45

Linux命令行文本顏色

2019-07-15 05:50:19

Linux命令行VirtualBox版

2019-07-12 14:00:55

xclipLinux命令行

2014-09-11 10:33:06

Linux

2019-05-21 10:38:17

Linux命令行

2022-08-14 19:19:14

Linux

2010-03-24 14:08:10

CentOS命令行

2010-09-01 14:23:54

Linux命令行開發(fā)

2009-12-24 14:51:39

Linux命令行

2022-11-08 09:38:18

Linux命令行刪除文件

2023-03-08 15:38:56

Linux命令dict

2020-03-11 10:45:36

Linux命令Linux大小寫

2018-11-05 13:50:44

Linux命令tcpdump
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲不卡视频 | av电影手机版 | 日韩成人国产 | 中文字幕视频在线观看 | 国产高清精品一区二区三区 | 欧美黑人一区二区三区 | 亚洲 欧美 日韩在线 | 一区二区三区四区在线免费观看 | 免费在线观看av片 | 欧美日韩精品一区二区三区视频 | 成人av一区二区在线观看 | 黄色片网此| 特一级毛片 | 色www精品视频在线观看 | 久久一级大片 | 日韩精品不卡 | 91资源在线播放 | 亚洲精品在线播放 | 日韩国产欧美一区 | 成人在线观看免费视频 | 新超碰97| 在线视频国产一区 | 夜夜草 | 成人三级视频 | 91大神在线资源观看无广告 | 九九爱这里只有精品 | 国产精品成人久久久久a级 久久蜜桃av一区二区天堂 | 欧美13videosex性极品 | 在线观看中文字幕亚洲 | 亚洲免费一| 三级成人片| 99久久精品国产一区二区三区 | 国产成人精品久久 | 免费国产一区二区 | 欧日韩在线 | 亚洲精品一区二区三区蜜桃久 | 91国产在线视频在线 | 欧美成人a | 国产精品视频免费看 | wwww.xxxx免费| 日本黄色免费视频 |