LifeType 中文開發論壇

支援 => 安裝與設定精華區 => 主題作者是: yufeng 於 十二月 26, 2005, 05:31:56 下午



主題: 注册确认邮件的编码问题
作者: yufeng十二月 26, 2005, 05:31:56 下午
安装的blog系统使用的是utf-8的编码, 发送的确认邮件也是utf-8的编码, 但是有些邮件系统,比如hotmail不支持utf编码, 看到的邮件是乱码, 能够单独将发送的邮件内容以gb2312编码来发送么? 谢谢!


主題: Re: 注册确认邮件的编码问题
作者: winman十二月 26, 2005, 05:42:11 下午
你指的是注册后发送激活邮件吗?如果是这个问题似乎没有很好的解决方法。

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

用GB2312编码写死在里面。


主題: Re: 注册确认邮件的编码问题
作者: yufeng十二月 26, 2005, 08:14:09 下午
 :-D谢谢winmam, 我实验了你的办法, 新建了一个gb2312的 email_confirm.template文件,把中文写在里面就好了,呵呵,

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

总结: 修改上面2个部份就可以发送中文确认邮件了 :-D


主題: Re: 注册确认邮件的编码问题
作者: jerrium二月 03, 2006, 06:01:56 下午
这个文件的内容是:
引用
{$locale->pr("register_confirmation_email_text", $activeLink)}

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

%s

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


主題: Re: 注册确认邮件的编码问题
作者: james二月 03, 2006, 11:02:08 下午
真是太棒了 ^_^
恭喜你們解決了這個問題 :)
我想如果是big5的使用者,也可以參考這個修改來達成正確發送big5編碼的註冊通知信函囉 ^_^

Hi winman,這篇應該可以加到精華篇囉 :)

再次恭喜囉 :-)
James.


主題: Re: 注册确认邮件的编码问题
作者: lss二月 03, 2006, 11:17:22 下午
hi winman:

別忘了,還有 wiki 的 FAQ 哦!

 :-P

lss


主題: Re: 注册确认邮件的编码问题
作者: jerrium二月 04, 2006, 02:11:39 下午
有一个疑问:
我在本地使用搜索功能,没有发现email_confirm.template被调用的地方。
这个是在什么地方被调用的呢?我找了半天没找到哦。。。


主題: Re: 注册确认邮件的编码问题
作者: jerrium二月 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等系统提供的函数?


主題: Re: 注册确认邮件的编码问题
作者: winman二月 04, 2006, 08:51:20 下午
程式碼:
{$locale->pr("register_confirmation_email_text", $activeLink)}
这句代码修改成:
程式碼:
{sprintf( "请点击下面的链接来激活您的博客:

%s

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

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

修改成这样看看,
程式碼:
{文字($activeLink)}


主題: Re: 注册确认邮件的编码问题
作者: jerrium二月 04, 2006, 09:05:50 下午
试过了,也不行的。
这里关键是要把一段文字中的%s替换成链接不知道该如何写。


主題: Re: 注册确认邮件的编码问题
作者: markwu二月 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


主題: Re: 注册确认邮件的编码问题
作者: winman二月 05, 2006, 03:09:10 下午
关于用户注册后收到的确认邮件为乱码问题,解决方法有两种,
我已经整理好并放到 wiki.lifetype.org.tw 里。有需要的朋友请
点击如下地址浏览。

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


主題: Re: 注册确认邮件的编码问题
作者: jerrium二月 05, 2006, 04:33:36 下午
谢谢markwu,winman的帮助~


主題: Re: 注册确认邮件的编码问题
作者: npb_club_tw九月 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碼存檔

這樣內文就會是中文不會是亂碼了


主題: Re: 注册确认邮件的编码问题
作者: jiunn32九月 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 方法一樣.