位置:海鸟网 > IT > ASP.NET >

使用UTF-8编码/JMail组件发送邮件乱码问题

很久之前听一位朋友讲过,使用UTF-8编码发送邮件,会有乱码的情况发生。近日为公司开发支持多语言的网站,正好要使用UTF-8编码。网站有会员注册,查询表单等模块皆需要发送邮件给注册用户或者管理员。心里寻思着免不了要和这乱码问题起正面冲突了。

        奇怪的是,项目一直顺利地进行的,虽然邮件中的中文在网页里查收确实是会乱码。但是用Outlook或者Foxmail收取之后在本地查看却很正常。哈,莫非友人所指的乱码便是如此?看来问题不大,我便将网站上传到服务器交由另一组去测试了。

  第二天,正当我悠哉游哉地在听歌看文章时,那边同事反馈过来说收到邮件会乱码。心下吃了一惊了,立马试了一下,果然,用Foxmail收到打开之后还是一陀问号。循例Google了一翻,想看一下有没有人遇到过同样的问题,但没什么发现。之后又去dimc.net(Jmail的官网)的论坛晃了半天,也没能解决问题。看来只有靠自己了。。。

        经过两个小时不断地在服务器上修改代码发送邮件测试,问题并无改善。

        于是开始从本地电脑与服务器上面的差异入手,先是发现jmail的版本不一致,便更新了服务器的jmail版本。无效。感觉问题应该不是出在网站程序和Jmail组件上。为了确定问题的关键,在邮件发送之前将已经赋给Jmail的内容输出,果然,在这里邮件的内容已经乱码。我的操作系统装的是简体中文版,服务器上面的是英文版,最后。尝试在区域与语言选项里面的高级,非unicode程序的语言 上面选用了中文,重启服务器之后问题终于解决。