使用Codeigniter电子邮件类发送电子邮件时,消息字符串混乱

时间:2012-07-04 05:45:32

标签: php codeigniter character-encoding html-email iso-8859-1

所以我在使用Codeigniter的Email类制作脚本来发送电子邮件时遇到了问题。我设置了这样的配置:

    $config['protocol'] = 'mail';
    $config['charset'] = 'iso-8859-1';
    $config['wordwrap'] = FALSE;
    $config['mailtype']= "html";

电子邮件已成功发送,但当我打开电子邮件时(电子邮件客户端是使用iso-8859-1 charset的webmail客户端),我的一些话语搞砸了。

这是我想要的电子邮件:

Thank you for registering a UMall account. Here's the details of your account:
Email: su-mie@ntu.edu.sg
Pass: 1234567
Fullname: Reinardus Surya Pradhitya
Phone: 83612737
Click here to activate your account: http://su.ntu.edu.sg/umall/index.php/register/activate/3a228e96124a66f1070361e0961854d5

以下是它的显示方式:

Thank you for registering a UMall account. Here's the details of your accou= nt:
Email: su-mie@ntu.edu.sg
Pass: 1234567
Full= name: Reinardus Surya Pradhitya
Phone: 83612737
Click here= to activate your account: http://su.ntu.edu.sg/um= all/index.php/register/activate/3a228e96124a66f1070361e0961854d5

故障字符始终为“=”。等号后面跟一个空格。有谁知道什么是错的?

有趣的是,我尝试在手机的另一个电子邮件客户端中打开它,看起来很不错。

编辑:我认为问题在于包装。我无法覆盖设置,我无法使用{unwrap} {/ unwrap}。怎么解决这个问题?

2 个答案:

答案 0 :(得分:2)

我有同样的问题,“@ Alix Axel”帮助解决了这个问题。

请参阅此帖子:CodeIgniter SMTP email message - characters replaced with equal signs

它涵盖了您需要的配置。

答案 1 :(得分:1)

尝试将字符集更改为utf-8。

$config['protocol'] = 'mail';
$config['charset'] = 'utf-8';
$config['wordwrap'] = FALSE;
$config['mailtype']= "html";