visvoy 发表于 2010-9-19 19:05:52

CI发UTF-8邮件真是嗷嗷的杯具

我用126.com的邮箱发邮件,设置为utf-8, html
to gmail: 标题乱码,内容部分乱码(竟然带上了email header信息)
to qq mail: 标题不乱码,发件人乱码,内容乱码

p.s.:程序文件已保存为UTF-8格式
p.s.:不能换邮件商。。。客户指定的

目前的解决办法,只有使用gbk编码发邮件了,
唉,谁有好的CI utf-8 mail解决方案?

Hex 发表于 2010-9-20 00:24:18

首先这个和 CI 无关。
我发邮件只发现邮件标题乱码,内容都没问题。
邮件标题只要进行编码,就不会乱码。
目前我测试只有 tom 的邮箱会乱码,其他的国内的基本都试过。

visvoy 发表于 2010-9-20 17:51:23

标题乱码客户肯定不接受的说。。。。。。。

:(我测试126发utf-8,不同接收信箱会在不同的位置出现乱码,标题,发件人,内容,只要有中文,就会有其中一、两个项目出现乱码,挺无语的,我的ide设置全部以UTF-8保存,网页也是UTF-8编码
这两天弄邮件真的蛋疼死了

Hex 发表于 2010-9-20 18:14:15

$this->email->subject('=?UTF-8?B?'.base64_encode('邮件标题').'?=');
这样编码标题是可以的,我这边是这么用的,没问题。

visvoy 发表于 2010-9-20 21:50:12

:o 1.7.2已经对标题自动增加=?UTF-8?B?前缀了,我再加一遍发送就出现无敌乱码的说。。

Hex 发表于 2010-9-20 22:17:51

回复 5# visvoy


    -_- 我看了一下 172 的源码,貌似和我用的方法不一样,你可以试试我的方法,改一下 CI 的 Email 类库。。。。

visvoy 发表于 2010-9-21 12:52:45

:dizzy: 唉,改这块挺麻烦的,得测试好几个邮箱,蛋疼,先用gbk邮件对付了。。。
等遇到强制要求utf-8的蛋疼客户再说,囧rz

sunxch100 发表于 2010-9-28 13:14:31

邮箱一般接受gb2312、gbk、big5、ansi编码
你可以将utf-8编码转换成gb2312
iconv('utf-8','gb2312',$str);
再发送试试

mckee1990 发表于 2012-2-28 20:33:19

为什么我按hex的做法,还是错误啊
页: [1]
查看完整版本: CI发UTF-8邮件真是嗷嗷的杯具