TC官方合作论坛

 找回密码
 立即注册
查看: 1674|回复: 9

[问题] 为何不能com调用windows自带的CDO.Message组件

[复制链接]
发表于 2015-5-15 13:35:39 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 liuhr_2000 于 2015-5-15 13:37 编辑

var objMail = com("CDO.Message")
    var objConfig = com("CDO.Configuration")
    objConfig.Fields.
    objConfig.Fields("ht*p://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
    objConfig.Fields("ht*p://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    objConfig.Fields("ht*p://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.163.com"
    objConfig.Fields("ht*p://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
    objConfig.Fields("ht*p://schemas.microsoft.com/cdo/configuration/sendusername") = "liuh"
    objConfig.Fields("ht*p://schemas.microsoft.com/cdo/configuration/sendpassword") = "000"
    objConfig.Fields("ht*p://schemas.microsoft.com/cdo/configuration/languagecode") = "0x0804"
    objConfig.Fields.Update()
    objMail.Configuration = objConfig
    objMail.Subject = "Mail Subject"
    objMail.From = "liuh@163.com"
    objMail.To = "liuh@163.com"
    objMail.HTMLBody = "Mail Body"
    objMail.Send

大神能不能解释一下这个代码为什么不能运行?
回复

使用道具 举报

发表于 2015-5-15 13:46:19 | 显示全部楼层
objConfig.Fields("ht*p://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
    objConfig.Fields("ht*p://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    objConfig.Fields("ht*p://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.163.com"
    objConfig.Fields("ht*p://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
    objConfig.Fields("ht*p://schemas.microsoft.com/cdo/configuration/sendusername") = "liuh"
    objConfig.Fields("ht*p://schemas.microsoft.com/cdo/configuration/sendpassword") = "000"
    objConfig.Fields("ht*p://schemas.microsoft.com/cdo/configuration/languagecode") = "0x0804"

你这是什么代码 还有这种写法的额
回复 支持 反对

使用道具 举报

发表于 2015-5-15 13:58:35 | 显示全部楼层
貌似有很多都调用不了
回复 支持 反对

使用道具 举报

发表于 2015-5-15 13:59:23 | 显示全部楼层
本帖最后由 a837198 于 2015-5-15 14:00 编辑

一下是vbs的代码 你确定你写的正确么???
  1. C**t Email_From = "still.demon@gmail.com"
  2. C**t Password = "password"
  3. C**t Email_To = "380401911@qq.com"
  4. Set CDO = CreateObject("CDO.Message")
  5. CDO.Subject = "From Demon"
  6. CDO.From = Email_From
  7. CDO.To = Email_To
  8. CDO.TextBody = "Hello world!"
  9. cdo.AddAttachment = "C:\hello.txt"
  10. C**t schema = "http://schemas.microsoft.com/cdo/configuration/"
  11. With CDO.Configuration.Fields
  12. .Item(schema & "sendusing") = 2
  13. .Item(schema & "smtpserver") = "smtp.gmail.com"
  14. .Item(schema & "smtpauthenticate") = 1
  15. .Item(schema & "sendusername") = Email_From
  16. .Item(schema & "sendpassword") = Password
  17. .Item(schema & "smtpserverport") = 465
  18. .Item(schema & "smtpusessl") = True
  19. .Item(schema & "smtpconnectiontimeout") = 60
  20. .Update
  21. End With
  22. CDO.Send
复制代码
请注意红色字体部分  
C**t Email_From = "still.demon@gmail.com"
C**t Password = "password"
C**t Email_To = "380401911@qq.com"
Set CDO = CreateObject("CDO.Message")
CDO.Subject = "From Demon"
CDO.From = Email_From
CDO.To = Email_To
CDO.TextBody = "Hello world!"
cdo.AddAttachment = "C:\hello.txt"
C**t schema = "http://schemas.microsoft.com/cdo/configuration/"
With CDO.Configuration.Fields
.Item(schema & "sendusing") = 2
.Item(schema & "smtpserver") = "smtp.gmail.com"
.Item(schema & "smtpauthenticate") = 1
.Item(schema & "sendusername") = Email_From
.Item(schema & "sendpassword") = Password
.Item(schema & "smtpserverport") = 465
.Item(schema & "smtpusessl") = True
.Item(schema & "smtpconnectiontimeout") = 60
.Update
End With

CDO.Send


回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-5-15 14:03:47 | 显示全部楼层
jimye0526 发表于 2015-5-15 13:46
objConfig.Fields("ht*p://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
    objConfi ...

这是cdo组件内的函数的标准写法吧
回复 支持 反对

使用道具 举报

发表于 2015-5-15 14:05:30 | 显示全部楼层
com写法跟组件内有神马关系,关系的是调用方吧,你用tc调用,遵从tc的语法规则,用e遵从e的规则
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-5-15 14:06:33 | 显示全部楼层
a837198 发表于 2015-5-15 13:59
一下是vbs的代码 你确定你写的正确么???
请注意红色字体部分  
C**t Email_From = "still.demon@gmail.c ...

vbs 这个我试过了 一运行就死机  不知道大侠试过没?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-5-15 14:07:57 | 显示全部楼层
强烈建议tc增加发邮件功能,用dllcall带个dll文件的拖油瓶总是不爽。看来这个程序我要用vb搞定了
回复 支持 反对

使用道具 举报

发表于 2015-5-15 14:43:37 | 显示全部楼层
liuhr_2000 发表于 2015-5-15 14:07
强烈建议tc增加发邮件功能,用dllcall带个dll文件的拖油瓶总是不爽。看来这个程序我要用vb搞定了 ...

你用vb做个dll文件 也可以去调用的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-5-15 22:16:51 | 显示全部楼层
jimye0526 发表于 2015-5-15 14:05
com写法跟组件内有神马关系,关系的是调用方吧,你用tc调用,遵从tc的语法规则,用e遵从e的规则 ...

就是遵守tc的语法啊 但是 不论谁调用函数内部的参数结构是不会变的啊。请赐教  这个cdo组件在tc里该怎么写
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-6-11 15:39 , Processed in 0.039227 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表