QTP 使用 CDONTS 发送邮件

在QTP中可以outlook 和 cdonts发送邮件,但是使用Outlook 需要在运行QTP的点脑安装Outlook,而且发送时要打开Outlook还会出现一个对话框,要求点击确认,无法实现真正的自动发送,所以本人还是推荐使用CDONTS来发送邮件。

 

CDONTS EMail是IIS提供的组件。使用这个组件有两个前提:

1. 系统安装并启动了SMTP服务

2. CDONTS.dll被注册到系统中(系统默认没有注册这个组件,从网上该组件并RegSvr32命令注册即可)

  CDONTS安装方法:
  Step1: 将该文件拷贝至 %SystemRoot%//System32 下;
  Step2: 开始 -> 运行 -> Regsvr32 cdonts.dll; 
  Step3: 确认

然后输入脚本

Function SendMail(SendTo, Subject, Body, Attachment)
    Set ol=CreateObject("Outlook.Application")
    Set Mail=ol.CreateItem(0)
    Mail.to=SendTo
    Mail.Subject=Subject
    Mail.Body=Body
    If (Attachment <> "") Then
        Mail.Attachments.Add(Attachment)
    End If
    Mail.Send
    ol.Quit
    Set Mail = Nothing
    Set ol = Nothing
End Function

' Example 2
Function SendMail(SendFrom, SendTo, Subject, Body)
    Set objMail=CreateObject("CDONTS.Newmail")
    ObjMail.From = SendFrom
    ObjMail.To = SendTo
    ObjMail.Subject = Subject
    ObjMail.Body = Body
    ObjMail.Send
    Set objMail = Nothing
End Function

调用脚本 SendMail  "aa@aa.com", "bb@bb.com","Test","Testbody"

执行脚本,检查邮箱是否收到邮件

 

如果邮件顺利收到固然很好,而且这个流程网上也有很多,我也无需再此多说一遍,但是很多时候,事与愿违,并不能顺利收到邮件,经过一步步地分析推理,发现其中更有玄机,这才是我最想分享给大家的:

如果收不到邮件,需要到IIS,SMTP虚拟邮件服务器的属性里面去看一下,安全是否加了允许匿名访问,或者加了来宾用户。

 

另外到默认的邮件路径下,看一下C:/Inetpub/mailroot/Queue里面是否有违发送的邮件,如果有稍等一下,看是否消失,如果消失;然后再到C:/Inetpub/mailroot//Badmail 查看你的邮件是否还留在此文件夹下,如果有则说明发送失败了。 然后再给mairoot文件夹的访问权限增大,允许普通用户操作。

 

 

 

一切操作完成,再次运行脚本,邮件就可以发送成功。

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值