51Testing软件测试论坛
标题:
在win7系统下,QTP自动化测试,怎样通过vbs脚本自动发送邮件
[打印本页]
作者:
jhoony1101
时间:
2012-4-28 17:01
标题:
在win7系统下,QTP自动化测试,怎样通过vbs脚本自动发送邮件
'---------------------------------------------------------------------------------
'函数名称 : SendMail
'函数功能 : 自动发送邮件功能
'函数输入: SendTo----收件人,多个收件人可使用";"隔开
' MailTopic----邮件主题
' MailBody----邮件内容,此处内容格式为Html
' MailAttachment---邮件附件,多个附件可使用";"隔开
'函数输出: Boolean,邮件是否发送成功
'---------------------------------------------------------------------------------
Function SendMail(SendFrom,Password,SendTo,MailTopic,MailBody,MailAttachment)
'On error resume next
MS_Space = "http://schemas.microsoft.com/cdo/configuration/"
Set Email = CreateObject("CDO.Message")
Email.BodyPart.Charset = "GBK"
Email.From = SendFrom
Email.To = SendTo
Email.Subject = MailTopic
Email.Htmlbody = MailBody
If MailAttachment <> "" Then
For i=0 to Ubound(Split(MailAttachment,";"))
Email.AddAttachment Split(MailAttachment,";")(i)
Next
End If
With Email.Configuration.Fields
.Item(MS_Space&"sendusing") = 2
.Item(MS_Space&"smtpserver") = "smtp."&Split(SendFrom,"@",-1, vbTextCompare)(1)
.Item(MS_Space&"smtpserverport") = 25
.Item(MS_Space&"smtpauthenticate") = 1
.Item(MS_Space&"sendusername") =Split(SendFrom,"@",-1,vbTextCompare)(0)
.Item(MS_Space&"sendpassword") = Password
.Update
End With
Err.clear
Email.Send
If Err.number<>0 Then
SendMail=False
Else
SendMail=True
End If
Set Email=Nothing
End Function
这个方法之前在xp系统下是可以使用的,但是装了win7系统后就不可以用了,应该是COM组件有的方法不支持,求能够发送邮件的方法,我是菜鸟,希望大家指教,非常感谢
作者:
SexyCat_1113
时间:
2012-4-29 14:59
不是创建outlook.application么
作者:
hsjzfling
时间:
2012-5-2 11:48
outlook.application会有安全验证的问题,Outlook 2007以后就比较麻烦了,现在用CDO.Message较多。
我这边是win7+outlook2010,用这段代码是没有问题的
如果不成功的话,看下报错信息是什么
作者:
jhoony1101
时间:
2012-5-13 16:14
回复
2#
SexyCat_1113
通过微软的outlook应该是可以的,但有其局限性,当时在win7系统下使用的时候,是".后面的方法不支持"
With Email.Configuration.Fields
.Item(MS_Space&"sendusing") = 2
.Item(MS_Space&"smtpserver") = "smtp."&Split(SendFrom,"@",-1, vbTextCompare)(1)
.Item(MS_Space&"smtpserverport") = 25
.Item(MS_Space&"smtpauthenticate") = 1
.Item(MS_Space&"sendusername") =Split(SendFrom,"@",-1,vbTextCompare)(0)
.Item(MS_Space&"sendpassword") = Password
.Update
求高手帮我看看在win7系统下咋怎?
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2