顯示具有 mail 標籤的文章。 顯示所有文章
顯示具有 mail 標籤的文章。 顯示所有文章

2013年4月28日 星期日

用 mutt 作為 command line 寄信程式

預設的 mail 不方便夾帶附加檔, 備忘一下用 mutt 做這事的指令:

mutt -s TITLE EMAIL -a ATTACHMENT < CONTENT

2010年6月12日 星期六

在 Ubuntu 8.04 上透過 gmail 用命令列寄信

2012-03-01 更新

找到更通用的作法, 用 Python 的 smtplib, 細節見 segfault.in » Sending Emails Via Gmail SMTP With Python

( 之前寫的舊方法 )

用命令列寄信好處多多, 像是程式掛的時候寄個信通知自己。但若又懶得自己架個 mail server, 可以透過 gmail 幫忙寄信。

安裝

參考這篇設定 ~/.mailrc 和 ~/.msmtprc。這篇有更詳細的 msmtp 設定。之後用命令列的 mail 寄信時就會透過設好的 gmail client 寄信。簡記過程如下。
$ sudo aptitude install heirloom-mailx msmtp
$ vim ~/.mailrc # 見下文
$ vim ~/.msmtprc # 見下文
$ chmod 600 ~/.msmtprc
$ echo "Hello, world!" | mail -s "Test from command line" somebody@somedomain.org
~/.mailrc
set from="YOURNAME@gmail.com (YOURNAME)"
set sendmail="/usr/bin/msmtp"
set message-sendmail-extra-arguments="-a gmail"
~/.msmtprc
defaults
logfile /home/USER/msmtp.log

# gmail account
account gmail
auth on
host smtp.gmail.com
port 587
user YOURNAME@gmail.com
password YOURPASSWORD
from YOURNAME@gmail.com
tls on
tls_trust_file /usr/share/ca-certificates/mozilla/Equifax_Secure_CA.crt

# set default account to use (not necessary with single account)
account default : gmail

可能遇到的問題

msmtp: no recipients
mail 裝到mailutils。移掉它改裝 heirloom-mailx。
msmtp: TLS certificate verification failed: the certificate hasn't got a known issuer
用到舊的 certificate, 參照 msmtp 設定, 在 ~/.msmtprc 裡這麼設 tls_trust_file:
tls_trust_file /usr/share/ca-certificates/mozilla/Equifax_Secure_CA.crt
這檔案本來就在我的系統裡, 不知是 Ubuntu 裝好時就有還是之前裝啥東西時一併裝進來的。

在 Fedora 下裝 id-utils

Fedora 似乎因為執行檔撞名,而沒有提供 id-utils 的套件 ,但這是使用 gj 的必要套件,只好自己編。從官網抓好 tarball ,解開來編譯 (./configure && make)就是了。 但編譯後會遇到錯誤: ./stdio.h:10...