有時我們會需要透過Linux發送一些report mail,這時候我們就可以用mail這個指令
brook@vista:~/kernel$ ls | txt2html| mail --debug-level=7 -s 'show kernel floder' rene3210@gmail.com mail: sendmail (/usr/sbin/sendmailn mail: Getting auth info for UID 1003 mail: source=system, name=brook, passwd=x, uid=1003, gid=1000, gecos=,,,, dir=/home/brook, shell=/bin/bash, mailbox=/var/mail/brook, quota=0, change_uid=1 mail: Getting auth info for UID 1003 mail: source=system, name=brook, passwd=x, uid=1003, gid=1000, gecos=,,,, dir=/home/brook, shell=/bin/bash, mailbox=/var/mail/brook, quota=0, change_uid=1 mail: mu_mailer_send_message(): using From: brook@vista mail: Sending headers... mail: Sending body... mail: /usr/sbin/sendmail exited with: 0 mail:
上面這個指令會送出raw data,mail看到的也是顯示一些HTML內容,如
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <meta name="generator" content="HTML::TextToHTML v2.51"/> </head> <body> <p>AndroidKernel.mk<br/> <strong>COPYING</strong><br/> <strong>CREDITS</strong><br/> Documentation<br/> Kbuild<br/> Kconfig<br/> <strong>MAINTAINERS</strong><br/> Makefile<br/> <strong>README</strong><br/> <strong>REPORTING-BUGS</strong><br/> android<br/> arch<br/> block<br/> crypto<br/> drivers<br/> firmware<br/> fs<br/> include<br/> init<br/> ipc<br/> kernel<br/> lib<br/> linaro<br/> mm<br/> net<br/> samples<br/> scripts<br/> security<br/> sound<br/> tools<br/> usr<br/> virt</p> </body> </html>
如果我們要支援"Multipurpose Internet Mail Extensions (MIME)"只要在subject後面接上"\nContent-Type: text/html"即可
brook@vista:~/kernel$ ls | txt2html| mail --debug-level=7 -s "$(echo -e "show kernel floder\nContent-Type: text/html")" rene3210@gmail.com
也可以用"sendmail"指令來傳送mail
( echo "From: ${from}"; echo "To: ${to}"; echo "Subject: ${subject}"; echo "Content-Type: text/html"; echo "MIME-Version: 1.0"; echo ""; echo "${message}"; ) | sendmail -t
如
(message=`ls| txt2html` echo "From: rene3210@gmail.com;" echo "To: rene3210@gmail.com,rene3210@gov.tw;" echo "Subject: Quota" echo "Content-Type: text/html;" echo "MIME-Version: 1.0;" echo "${message}"; echo -e"\n\n" ) |sendmail -t
參考資料: How to send a html email with the bash command “sendmail”?