若在shell script中, 需要用command line 來寄信, 常用的方式就是用』mail』 指令來發信.
但是因為某些原因, 要利用外部的smtp servers來發信, 而且外部的smtp server通常需要使用者認證才能寄信.
這時』mail』指令就派不上用場了.
後來發現可以用這個指令』email』 來寄信.
而且可以將設定檔設在~/.email.conf 中, 若此檔不存在, 他會參考/usr/local/etc/email/email.conf檔,
這樣就搞定一切啦.
好像還可以利用gmail來幫你發信喔.
改天可以試試看喔.
自問: 當sendmail 或mail 不能使用的時候, logwatch 該如何寄出log file呢?
自答: vi /etc/logwatch/conf/logwatch.conf (或 vi /etc/log.d/conf/logwatch.conf)
MailTo = abct@def.com <--- 設定要寄給誰
mailer = /usr/local/bin/email <--- 改用email 指令來寄信
(2008/04/15 註: 這樣還是寄不出去, 解決方式參考這裡)
還有一點就是, 安裝email 程式, 其default 是裝在/usr/local/bin/email, 而config 檔是在/usr/local/etc/email/email.conf
正常使用, 不會有任何問題, 但是我在/etc/crontab 中執行一個script, 其利用email來寄出信件, 但是卻怎樣也寄不出去.
搞了半天, 才知到路徑出了問題, crond 並沒有設定PATH到/usr/local/bin, 所以找不到email這程式.
所以只好用如下方式解決:
ln -s /usr/local/bin/email /bin/email