shoutbox提醒郵件編碼問題
lifetype的shoutbox插件挺好用,挺好玩兒的,我當時也是搞了好久搞不好,後來看到mark的文章說要在全局設置裡面的模板設置中把模板緩存功能去掉,後來終於搞定了。一开始我以为是ajax的,用了才知道原来不是,不过没关系,也算是挺方便的。
可是在使用中還碰到個問題,就是我在管理介面中設置了郵件提醒,每每用outlook收到提醒郵件時裡面的編碼都是亂碼,每次都要去改阅读邮件的编码很麻烦,於是想想把這個問題从根本上解決。
首先我去plugins/shoutbox/class中找,不太熟悉,因此grep "mail"了一下,找到是dao/shoutbox.class.php。
打開:plugins/shoutbox/class/dao/shoutbox.class.php
發現是通過函數notifyUser發送郵件的,對郵件內容沒有經過編碼處理,$message->setBody($body);於是通過找到lifetype根目錄下class/dao/articlenotifications.class.php中,參考了它的寫法。
於是在shoutbox.class.php中也依樣畫葫蘆,在開始部分多引入兩個php程序
include_once( PLOG_CLASS_PATH."class/mail/emailmessage.class.php" );
include_once( PLOG_CLASS_PATH."class/mail/emailservice.class.php" );
然後找到:
$message->setBody($body);
在它後面加上一行: 
$message->setCharset("utf-8");
問題解決,發送郵件時就采用utf-8編碼,其實嚴格來說應該用取得charset變量的值,不過我是自己用的,所以偷懶了。

我有三言两语要评论:

如果需要您输入验证码,而您又看不清楚时,请点击发言区域右上角的“匿名式发表”以刷新验证码
Ethan Jiang

人不能没有一种对某种不可摧毁的东西保持持久信念的生活……

Gmail

MSN QQ

吃吃喝喝是因那贪得无厌;说说灌灌只为了笑逐颜开。

October 2008
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

Recent Entry
Ethan Jiang 尚能饭焉
Live Traffic Feed
45eggs Blog Feed