VB6 CDO对象乱码问题

三断笛 2010-06-30 10:52:36
需要在数据库中用CDO发送邮件,简要的VB简要代码如下:

Dim objMail As CDO.Message
Dim objConfig As New CDO.Configuration
Set objMail = New CDO.Message
objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.qq.com"
objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "10165462"
objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*******"
'objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/languagecode") = "0x0804"
objConfig.Fields.Update
Set objMail.Configuration = objConfig
objMail.Subject = "测试邮件"
objMail.From = "系统管理员"
objMail.To = "xxyj6450@163.com;10165462@qq.com;18603028118@wo.com.cn"
objMail.HTMLBody = "Mail Body"
objMail.Sender = "10165462@qq.com"
objMail.Send

能正常收到邮件,邮件内容正常,标题也是正常,但是 objMail.From = "系统管理员"这里设置的系统管理员在QQ邮箱中不显示,在163中显示乱码,在手机上却能正常显示,这是怎么回事?
用SQL MAIL发送的邮件却是正常的.
...全文
108 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
三断笛 2010-07-14
  • 打赏
  • 举报
回复
补充一下解决方法.邮件标题和正文没任何问题,只是发件人有问题.今天抓包看了一下邮件头,From的内容是用base64编码的,我尝试把正常邮件的邮件头加密过的的from内容复制过来,居然成功了.看来是from的内容没有被加密.什么原因引起的呢?打死都想不到:一定要在From后面再加上<任意邮箱地址>,比如这样:
objMail.From = "系统管理员<system@system.com>" 这样就会给from的内容加密了.
问题解决
zyx_ll 2010-06-30
  • 打赏
  • 举报
回复
你没有设置邮件编码规则
如UTF-8,GB2312之类

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧