discuz邮件问题:乱码/html邮件支持

因为想在春节的时候给论坛会员发一封祝福邮件,所以就测试discuz的发邮件功能,使用版本为6.0.由于直接用mail函数发送很多邮箱收不到,所以采用服务器上的SMTP服务器发送。测试以后发现两个问题:

1.收到的邮件内容是乱码。不是因为编码问题,utf-8,gbk看都是乱码。

2.不支持发送html邮件。

第一个问题查了很久,后来在discuz论坛上看到有人提到可能是邮件头的分隔符问题,于是测试,乱码问题没有了。当时设置的时候,因为看到提示:使用 LF 作为分隔符(通常为 Unix/Linux 主机),所以选择了此项,改为 使用 CRLF 作为分隔符(通常为 Windows 主机) 就没问题了。

关于第二个问题,其实就是MIME类型的设置,找到Discuz的邮件配置文件:sendmail.inc.php,将:

$headers = “From: $email_from{$maildelimiter}X-Priority: 3{$maildelimiter}X-Mailer: Discuz! $version{$maildelimiter}MIME-Version: 1.0{$maildelimiter}Content-type: text/plain; charset=$charset{$maildelimiter}Content-Transfer-Encoding: base64{$maildelimiter}”

修改为:

$headers = “From: $email_from{$maildelimiter}X-Priority: 3{$maildelimiter}X-Mailer: Discuz! $version{$maildelimiter}MIME-Version: 1.0{$maildelimiter}Content-type: text/html; charset=$charset{$maildelimiter}Content-Transfer-Encoding: base64{$maildelimiter}”;

就可以发邮件了。

最后顺便说下,如何给会员群发邮件:

进入后台:系统工具——论坛通知

选择会员组,然后点击论坛通知,写好内容以后,发送方式选择email就可以发送邮件了。

大漠孤狼原创,首发于www.83blog.com 转载请注明。

Post Footer automatically generated by wp-posturl plugin for wordpress.

January 22nd, 2009  in 网站程序 3 Comments »

3 Responses to “discuz邮件问题:乱码/html邮件支持”

Leave a Reply