1. 程式人生 > >formail sendmail 傳送內容為空的一個坑

formail sendmail 傳送內容為空的一個坑

1、起因:

想定時檢查,資料表中的資料,發現不一致,則傳送郵件報警;

2、待發送郵件內容:

productName : xxx instances use different version !

3、問題表現:

傳送郵件成功,但是,郵件內容為空白。為何?

4、問題所在:

待發送的內容裡有英文 冒號  “:” 沒錯就是它。由於,冒號對於該命令來說是特殊字元;想傳送特殊字元需要轉換成Unicode 進行傳送  冒號的 unicode 為 “:”

5、解決去掉冒號,或者換成中文冒號。或者 轉成 unicode ;ok 了。

5、傳送郵件的命令:

contact='[email protected]

'

content='productName : xxx instances use different version !'

echo $content |formail -I "From: [email protected]" -I "MIME-Version:1.0" -I "Content-type:text/html;charset=utf8" -I "Subject: your instance use different version!"  -I "To:$contact" |/usr/sbin/sendmail -t

echo -e "<div>test &#58; tt</div><br/><div>new line</div>" |formail -I "From:

[email protected]" -I "MIME-Version:1.0" -I "Content-type:text/html;charset=utf8" -I "Subject:test"  -I "To:[email protected]" |/usr/sbin/sendmail -t