因为想在春节的时候给论坛会员发一封祝福邮件,所以就测试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 转载请注明。