台灣最大程式設計社群網站
線上人數
1878
 
會員總數:246274
討論主題:189810
歡迎您免費加入會員
討論區列表 >> Linux / Unix >> 關於"sendmail -t"主旨亂碼問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
關於"sendmail -t"主旨亂碼問題
價值 : 10 QP  點閱數:6424 回應數:5
樓主

jackchuang
門外漢
0 6
56 7
發送站內信

請問大家,當$subject主旨遇到簡體中文、日文、泰文...任國家語言或特殊字元:如囧..,只有繁體中文是正常,利用如下Shell Script,收信方主旨都會顯示亂碼,其中charset改成用iso-8859-1與utf-8都無用,請問大家怎麼解決?謝謝!
#!/bin/sh
subject="$1"
touser="$2"
htmlfile="$3"
fromuser="$4"
sendmail="/usr/sbin/sendmail -t"
header="Mime-Version: 1.0
Content-type: text/html; charset="big5"
From: $fromuser
To: $touser
Subject: $subject"
{
echo "$header"
cat "$htmlfile"
} | $sendmail

本篇文章發表於2009-12-13 23:33
1樓
回應

那顆爛蔥
捐贈 VP 給 那顆爛蔥 檢舉此回應
看起來,用sendmail指令寄
subject要經過一層編碼...

用sendmail指令寄: Subject: 中文測試嘿
用mail指令寄: Subject: =?utf-8?B?5Lit5paH5ris6Kmm5Zi/?=
本篇文章回覆於2009-12-14 12:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

jackchuang
檢舉此回應
感謝樓上的回覆,不好意思,我不太明白意思哩,請問是要用哪個指令或函式來編碼主旨文字?謝謝!

用sendmail指令寄: Subject: 中文測試嘿
用mail指令寄: Subject: =?utf-8?B?5Lit5paH5ris6Kmm5Zi/?=
本篇文章回覆於2009-12-14 13:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

那顆爛蔥
捐贈 VP 給 那顆爛蔥 檢舉此回應
目前找到的資料
在shell的情況下,可以靠mmencode去處理
但是我目前還沒編譯成功 Orz

至於用mail指令寄
是因為我用php處理完了,再呼叫mail指令去寄...

你可以試著改用mail指令去寄看看
本篇文章回覆於2009-12-14 17:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

溫子
捐贈 VP 給 溫子 檢舉此回應
http://sakananote2.blogspot.com/2005/11/mmencode.html

辛苦了蔥大~~
本篇文章回覆於2009-12-14 19:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

那顆爛蔥
捐贈 VP 給 那顆爛蔥 檢舉此回應
mmencode編譯成功
配合你的shell指令做一點點點點的修改就能用了...
本篇文章回覆於2009-12-15 11:14
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.