iT邦幫忙

DAY 16
2

回應鐵人賽的文章變鐵人系列 第 16

[Reply] 如何從命令列透過mutt及gmail寄信

swdsyu 在 淺談透過Google Apps寄送Email的套件-remail
文中,
談到如何用 ruby 的套件來透過gmail來寄信,
在此是可用linux上的命令列來透過gmail寄信。
用指令列送信,有這個需要嗎?
其實可以用來把一些備忘資料、或一些設定檔,
當作附件寄給自己,而不需複製、貼上或上傳下載的動作達成。

而在linux上可用的指令的mail相關程式,
預設都是用本機的mail server來做轉寄,
在此利用mutt,把gmail當轉寄信件的服務。

安裝mutt

#Arch Linux
sudo pacman -S mutt
#Ubuntu
sudo aptitude install mutt

設定mutt
編輯以下檔案內容在 ~/.muttrc 這個設定檔裡,
並確認把文中的相關資訊改成您自己的資訊:

set from = "user@gmail.com"
set realname = "您的名字"
set imap_user = "user@gmail.com"
set imap_pass = "password"
set folder = "imaps://imap.gmail.com:993"
set spoolfile = "+INBOX"
set postponed ="+[Gmail]/Drafts"
set header_cache =~/.mutt/cache/headers
set message_cachedir =~/.mutt/cache/bodies
set certificate_file =~/.mutt/certificates
set smtp_url = "smtp://user@smtp.gmail.com:587/"
set smtp_pass = "password"
set move = no
set imap_keepalive = 900

產生資料夾:

mkdir -p /.mutt/cache

送出信件
mutt設定完成,就可把文字檔案的內容當做信件寄送:

mutt -s "Test from mutt" user@yahoo.com < /tmp/message.txt

如果需要寄個附件:

mutt -s "Test from mutt" user@yahoo.com < /tmp/message.txt -a /tmp/file.jpg

-s "Test from mutt" 是信件標題。
-a /tmp/file.jpg 是要寄的附件。
/tmp/message.txt 是信件內文的內容。

另外最常用echo的方式把信件的內容寫在同一指令行上:

echo "This is the body" | mutt -s "Testing mutt" user@yahoo.com -a /tmp/XDefd.png

如果需要透過script寄信,
確認在該使用者有.muttrc這檔案在其家目錄。

本文簡譯自:How to send email from the command line - Gmail Mutt -
系列文章


上一篇
[Reply] 在 Linux 上轉 html 檔成 pdf
下一篇
[Reply] 建立虛擬磁碟 RAM disk 來增進網站的效能
系列文
回應鐵人賽的文章變鐵人30

尚未有邦友留言

立即登入留言