作為普通 Ubuntu 用戶,您可能很清楚命令行的強大功能。 在本文中,我們將探討如何通過配置 msmtp 客戶端在終端中使用 Gmail 來發送電子郵件。 嗯,gmail 有一個非常有用和吸引人的界面,那麼我們為什麼要選擇這種命令行方法呢?
為什麼使用終端發送電子郵件?
如果您精通終端,那麼您不會想離開舒適的命令行並去其他地方進行任何日常技術活動。 總有一種方法可以在終端內完成我們幾乎所有的工作。 那麼,為什麼發送電子郵件會有所不同! 使用終端可以使某些任務更高效,甚至更快。 命令行工具不會使用太多資源,因此是廣泛使用的圖形應用程序的絕佳替代品,尤其是當您使用舊硬件時。 當您可以編寫 shell 腳本來發送電子郵件並自動化整個過程時,從終端發送電子郵件變得特別方便。
我們已經在 Ubuntu 18.04 LTS 系統上運行了本文中提到的命令和過程。
請一一執行以下步驟,以安裝和配置 msmtp,以便您可以從終端發送電子郵件:
第 1 步:打開終端應用程序
通過使用 Ctrl+Alt+T 快捷方式或通過應用程序啟動器搜索訪問它來打開終端應用程序,如下所示:
第 2 步:更新存儲庫索引
下一步是通過以下命令更新系統的存儲庫索引:
$ sudo apt-get 更新
這有助於您從 Internet 安裝最新可用版本的軟件。 請注意,只有授權用戶才能在 Ubuntu 上添加、刪除和配置軟件。
第三步:安裝Msmtp客戶端
現在您已準備好從終端安裝 msmtp 客戶端; 您可以通過運行以下命令來做到這一點 sudo:
$ sudo apt-get 安裝 msmtp-mta
系統可能會詢問您的密碼 sudo 並為您提供 Y/n 選項以繼續安裝。 Enter Y 然後按回車鍵; 該軟件將安裝在您的系統上。 但是,此過程可能需要一些時間,具體取決於您的 Internet 速度。
第 4 步:為 gmail 配置 msmtp
現在是通過告訴它我們的 gmail 憑據、要使用的端口、主機以及其他一些授權和連接詳細信息來配置 msmtp 的時候了:
在您最喜歡的文本編輯器之一中打開一個名為 msmtprc 的文件。 我使用著名的 Nano 編輯器打開文件如下:
$ nano ~/.msmtprc
然後,將以下代碼複製到空文件中:
#Gmail 帳戶默認值 #將日誌文件的位置更改為任何所需的位置。 日誌文件 ~/msmtp.log 主機 smtp.gmail.com 上的帳戶 gmail 身份驗證來自 <[email protected]> 在 tls_trust_file /etc/ssl/certs/ca-certificates.crt 用戶的 tls 上進行身份驗證 <[email protected]> password
小費: 您可以使用 Ctrl+Shift+V 或使用右鍵單擊菜單中的粘貼選項從此處複製並粘貼到終端中,而不是在文件中鍵入整個代碼。
現在,通過 Ctrl+X 快捷方式退出文件並將文件保存在“Save 修改緩衝區?” 通過鍵入 Y 然後點擊提示 Enter.
以文本格式保存密碼是您的任何文件都不是一個好主意。 因此,您可以通過運行以下命令來保護文件:
$ chmod 600 .msmtprc
第五步:安裝傳家寶mailx
此時,我們已將計算機配置為與遠程 Gmail 服務器通信。 我們現在需要做的是,設置一個命令行界面,讓我們編寫要發送的電子郵件。 Mailx 是讓我們完成這一切的程序,下面是我們如何安裝它:
$ sudo apt-get 安裝傳家寶-mailx
系統可能會詢問您的密碼 sudo 並為您提供 Y/n 選項以繼續安裝。 Enter Y 然後按回車鍵; 該軟件將安裝在您的系統上。 但是,此過程可能需要一些時間,具體取決於您的 Internet 速度。
重要的: 如果您無法在已添加的存儲庫中找到該包,請按如下方式打開 sources.list 文件:
$ nano /etc/apt/sources.list
然後,添加以下行以添加 rusty-security 主 Universe 存儲庫,我們將從中安裝 mailx 實用程序。
deb https://security.ubuntu.com/ubuntu trusty-security 主宇宙
另外,不要忘記在執行安裝之前運行以下命令:
$ sudo apt-get 更新
第 6 步:配置 Mailx
通過您最喜歡的文本編輯器之一打開名為 .mailrc 的文件。
$納米〜/ .mailrc
然後,在該文件中添加以下幾行並保存。
設置 sendmail=”/usr/bin/msmtp” 設置 message-sendmail-extra-arguments=”-a gmail”
第 7 步:通過終端發送電子郵件
我們現在準備通過我們配置的 gmail 帳戶向任何域上的接收者發送電子郵件。 以下是發送此類電子郵件的基本語法:
$ mail -s “subject” -a “attachment-if-any” “[email protected]”
與電子郵件一起發送附件是可選的。
我使用以下命令發送電子郵件:
當你打 Enter,您將被允許進入電子郵件正文。 完成輸入電子郵件正文後,按 Ctrl+D。 這將標記電子郵件正文的結尾並將其發送到相應的接收者 ID。
輸出末尾的 EOT 將指示您的電子郵件已發送。
但是,您可能會遇到 最常見的錯誤,和我一樣:
當您不允許訪問 Gmail 上安全性較低的應用程序時,通常會遇到此錯誤。 可以通過以下鏈接更改此安全設置:
https://myaccount.google.com/lesssecureapps
當您這樣做時,系統會向您發送通知(主要是在您的手機上,當您使用 gmail 配置您的電話號碼時)。 如果您允許此設置更改,gmail 將允許訪問安全性較低的應用程序,例如我們正在使用的應用程序。
嘗試通過 CLI 再次發送電子郵件,您的電子郵件將從您的 gmail ID 成功發送到收件人。
您現在可以將此方法合併到您的 bash 腳本以使其更有用並節省時間和帶寬。