歡迎光臨, 訪客. 請先 登入註冊一個帳號.
三月 29, 2024, 05:24:40 上午
19595 文章 在 3865 主題 由 4580 會員
最新註冊會員: aa123aa1
LifeType 中文開發論壇  |  支援  |  安裝與設定  |  安裝與設定精華區  |  注册确认邮件的编码问题 « 上篇主題 下篇主題 »
頁: [1]
作者 主題: 注册确认邮件的编码问题  (閱讀 39915 次)
yufeng
新手見習
*
文章: 39


檢視個人資料
« 於: 十二月 26, 2005, 05:31:56 下午 »

安装的blog系统使用的是utf-8的编码, 发送的确认邮件也是utf-8的编码, 但是有些邮件系统,比如hotmail不支持utf编码, 看到的邮件是乱码, 能够单独将发送的邮件内容以gb2312编码来发送么? 谢谢!
已記錄

服务器环境:
LINUX RH ES3/PHP 4.4.0/MySQL 4.1.11/Apache 2.0.54
======================
调试环境:
Win2003/PHP 4.4.1/MySQL 4.1.11/Apache 2.0.54
winman
版主
超級會員
*****
文章: 525


winman


檢視個人資料 個人網站
« 回覆文章 #1 於: 十二月 26, 2005, 05:42:11 下午 »

你指的是注册后发送激活邮件吗?如果是这个问题似乎没有很好的解决方法。

我想到的一个“坏主意”是修改 email_confirm.template 这个模版,然后把内容

用GB2312编码写死在里面。
已記錄

俗语说:授予鱼,不如授予渔。因此在发问前先搜寻论坛,或许困扰你
的问题,在之前已经有朋友遇到并得到解答了。这样不但提高解决问题
的效率,还能令自己的能力不断加强。加油啊。
yufeng
新手見習
*
文章: 39


檢視個人資料
« 回覆文章 #2 於: 十二月 26, 2005, 08:14:09 下午 »

 :-D谢谢winmam, 我实验了你的办法, 新建了一个gb2312的 email_confirm.template文件,把中文写在里面就好了,呵呵,

还有邮件标题的问题,  邮件的标题在 class/summary/dofinishregister.class.php里面, 将 $message->setSubject() 里面的英文subject 换成中文的就可以了...

总结: 修改上面2个部份就可以发送中文确认邮件了 開懷大笑
已記錄

服务器环境:
LINUX RH ES3/PHP 4.4.0/MySQL 4.1.11/Apache 2.0.54
======================
调试环境:
Win2003/PHP 4.4.1/MySQL 4.1.11/Apache 2.0.54
jerrium
新手見習
*
文章: 48


檢視個人資料
« 回覆文章 #3 於: 二月 03, 2006, 06:01:56 下午 »

这个文件的内容是:
引用
{$locale->pr("register_confirmation_email_text", $activeLink)}

我修改成如下即可?
程式碼:
{sprintf( "请点击下面的链接来激活您的博客:

%s

现在就进入博客世界吧!祝您天天快乐!", $activeLink )}
已記錄
james
LifeType 中文發展團隊
超級會員
*****
文章: 823


哼!!你不說,誰會知道你做過那些修改呢!? (丟滑鼠~~)


檢視個人資料 個人網站
« 回覆文章 #4 於: 二月 03, 2006, 11:02:08 下午 »

真是太棒了 ^_^
恭喜你們解決了這個問題 微笑
我想如果是big5的使用者,也可以參考這個修改來達成正確發送big5編碼的註冊通知信函囉 ^_^

Hi winman,這篇應該可以加到精華篇囉 微笑

再次恭喜囉 微笑
James.
已記錄

記得發問前,先使用搜尋功能找找看有沒相關的解答。
如果找不到,請依照如何在LifeType論壇發問來提問喔。
lss
我不是被~拉~~出來的,不要叫我大大!
總版主
超級會員
*****
文章: 1511



檢視個人資料 個人網站
« 回覆文章 #5 於: 二月 03, 2006, 11:17:22 下午 »

hi winman:

別忘了,還有 wiki 的 FAQ 哦!

 吐舌頭

lss
已記錄

沒找過 常見問題集或不知道 如何在 LifeType 中文開發論壇發問的人,恕不回答問題
jerrium
新手見習
*
文章: 48


檢視個人資料
« 回覆文章 #6 於: 二月 04, 2006, 02:11:39 下午 »

有一个疑问:
我在本地使用搜索功能,没有发现email_confirm.template被调用的地方。
这个是在什么地方被调用的呢?我找了半天没找到哦。。。
已記錄
jerrium
新手見習
*
文章: 48


檢視個人資料
« 回覆文章 #7 於: 二月 04, 2006, 02:39:55 下午 »

程式碼:
{$locale->pr("register_confirmation_email_text", $activeLink)}
这句代码修改成:
程式碼:
{sprintf( "请点击下面的链接来激活您的博客:

%s

现在就进入博客世界吧!祝您天天快乐!", $activeLink )}

结果发现无法发送邮件了。
不知道应该如何修改?

另外,我找到了这句代码:
程式碼:
    /**
     * create the message body
     */
    function createBody(){
        $body = $this->renderBodyTemplate(CONFIRM_MAIL_TEMPLATE,"summary");
        $this->setBody($body) ;
    }
我想应该就是这里是调用的地方了,但是跟进去却没发现使用
程式碼:
{$locale->pr("register_confirmation_email_text", $activeLink)}
的地方。

请教高手,此处
程式碼:
{$locale->pr("register_confirmation_email_text", $activeLink)}
修改代码一定要使用你们封装的函数,不能使用sprintf等系统提供的函数?
已記錄
winman
版主
超級會員
*****
文章: 525


winman


檢視個人資料 個人網站
« 回覆文章 #8 於: 二月 04, 2006, 08:51:20 下午 »

程式碼:
{$locale->pr("register_confirmation_email_text", $activeLink)}
这句代码修改成:
程式碼:
{sprintf( "请点击下面的链接来激活您的博客:

%s

现在就进入博客世界吧!祝您天天快乐!", $activeLink )}

结果发现无法发送邮件了。
不知道应该如何修改?

修改成这样看看,
程式碼:
{文字($activeLink)}
« 最後編輯時間: 二月 04, 2006, 08:56:07 下午 由 winman » 已記錄

俗语说:授予鱼,不如授予渔。因此在发问前先搜寻论坛,或许困扰你
的问题,在之前已经有朋友遇到并得到解答了。这样不但提高解决问题
的效率,还能令自己的能力不断加强。加油啊。
jerrium
新手見習
*
文章: 48


檢視個人資料
« 回覆文章 #9 於: 二月 04, 2006, 09:05:50 下午 »

试过了,也不行的。
这里关键是要把一段文字中的%s替换成链接不知道该如何写。
已記錄
markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #10 於: 二月 04, 2006, 09:44:17 下午 »

不能這樣用,這是不太對的!

在模版中 {} 裡面只接受  smarty 的指令,或是 從程式中指定到模版的變數,你這樣用當然會有問題。你有兩個方式可以來解決:

1. 按照 winman 說的方式:『修改 email_confirm.template 这个模版,然后把内容用GB2312编码写死在里面。』或是,

2. 建立一份 zh_TW-big5 或是 zh_CN-gb2312 的locales,然後在 class/summary/mail/confirmemailmessage.class.php 的 42-55 行中指定 locale 是 zh_TW-big5 或是 zh_CN-gb2312。

我會建議 (1) 是比較簡單的方式。

Mark
已記錄

winman
版主
超級會員
*****
文章: 525


winman


檢視個人資料 個人網站
« 回覆文章 #11 於: 二月 05, 2006, 03:09:10 下午 »

关于用户注册后收到的确认邮件为乱码问题,解决方法有两种,
我已经整理好并放到 wiki.lifetype.org.tw 里。有需要的朋友请
点击如下地址浏览。

http://wiki.lifetype.org.tw/index.php?title=Manage_LifeType_FAQ
已記錄

俗语说:授予鱼,不如授予渔。因此在发问前先搜寻论坛,或许困扰你
的问题,在之前已经有朋友遇到并得到解答了。这样不但提高解决问题
的效率,还能令自己的能力不断加强。加油啊。
jerrium
新手見習
*
文章: 48


檢視個人資料
« 回覆文章 #12 於: 二月 05, 2006, 04:33:36 下午 »

谢谢markwu,winman的帮助~
已記錄
npb_club_tw
新手見習
*
文章: 4


檢視個人資料
« 回覆文章 #13 於: 九月 07, 2006, 06:56:16 下午 »

1.1版中
class/summary/mailsummarymailer.class.php
尋找
$message->setSubject( $locale->tr( "registration_default_subject" ));
改成
$message->setSubject( $locale->tr( " Blog 註冊認證信" )); 
存成big5格式,信件標題就會變成big5編碼
webmail系統就看的到中文標題了

 class/summary/dofinishregister.class.php

內容全部刪掉以後改成

您已註冊成功,請點選如下連結開啟您的blog {$activeLink}

然後用big5碼存檔

這樣內文就會是中文不會是亂碼了
已記錄
jiunn32
新手見習
*
文章: 13



檢視個人資料 個人網站
« 回覆文章 #14 於: 九月 09, 2006, 03:57:55 下午 »

抱歉..class/summary/dofinishregister.class.php這個檔案沒看到.

目前解決的方式是,將
locale/locale_zh_TW.php
本地化檔案,修改
872到876行成以下.
$messages['register_confirmation_email_text'] = 'Please click the link below in order to activate your blog:

%s

Have a nice day!';

也就是將內文改成英文.
標題還是跟npb_club_tw 方法一樣.
已記錄

我不知道何時成功,

但是我知道有嘗試,就有進步!
頁: [1]
LifeType 中文開發論壇  |  支援  |  安裝與設定  |  安裝與設定精華區  |  注册确认邮件的编码问题 « 上篇主題 下篇主題 »
    前往: