最初的想法這樣的:由于家中寬帶上網是ADSL。ADSL的特點是下行速度還可以,但是上線速度就最高只有50kB/s.如果有大文件附件的郵件需要發送時,需要等待很長時間,而且不能保證一定傳送成功。家中的高清播放機是可以長期開機的,而且功耗很低。在嵌入式linux系統中搭建郵件服務,然后把郵件附件上傳到播放器中,讓播放器自動發送出去,那就方便了。當然為了保證發送成功,應該加入一個成功校驗,出錯重發的腳本。就完美了。說干就干!
我的高清播放機是支持ipkg安裝包的。搜索了一下ipkg包,sendmail/msmtp/esmtp好像都可以作為后選,決定挨個嘗試。結果sendmail安裝失敗,可能與固件中的linux環境有關吧。
msmtp安裝倒是很順利。但是參照
http://www.nslu2-linux.org/wiki/HowTo/SendMailWithMSMTP創建配置文件后,運行就出現了錯誤。
msmtp: cannot use a secure authentication method
解決辦法是auth要設置為“login”而不是“on”
最終的我的配置文件msmtprc是這樣的
account default
host smtp.189.cn
from *****@189.cn
auth login
port 25
user *****
password *****
tls off先用自己的郵箱給自己發一封郵件,簡單測試一下。郵件正文編輯完,按CTRL+D結束。

測試結果如下

下一步計劃:加入文件附件,通過命令行無人值守發送
Google搜索鎖定目標mutt,強大的linux郵件客戶端。運行ipkg install mutt安裝很順利,但具體配置就比較復雜了。
最終我的Muttrc配置文件如下
#設置郵箱目錄set folder="/tmp/hdd/volumes/HDD1/mail"
#設置發件箱目錄
set record="+outgoing"
set charset="UTF-8"
set locale=`echo"${LC_ALL:-${LC_TIME:-${LANG}}}"`
set assumed_charset="GB2312"
set rfc2047_parameters=yes
#設置使用的郵件發送程序
set sendmail="/usr/local/etc/opt/bin/msmtp"
#設置郵件編輯程序,由于最終要求無人值守,這里可以省略
set editor="vi"
命令行如下
/usr/local/etc/opt/etc # mutt -s "test mutt attachment2" -a /tmp/hdd/volumes/HDD
1/music/Track09.mp3 -- hbhuyt@189.cn < /tmp/hdd/volumes/HDD1/ipkg.conf上面的命令中-s參數是指定郵件標題,-a參數用來上傳郵件附件,--用來隔離多個郵件附件, "<"號后面的是郵件正文部分。
