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 -
系列文章