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  "[email protected]", "[email protected]","Test","Testbody"

執行腳本,檢查郵箱是否收到郵件

 

如果郵件順利收到固然很好,而且這個流程網上也有很多,我也無需再此多說一遍,但是很多時候,事與願違,並不能順利收到郵件,經過一步步地分析推理,發現其中更有玄機,這纔是我最想分享給大家的:

如果收不到郵件,需要到IIS,SMTP虛擬郵件服務器的屬性裏面去看一下,安全是否加了允許匿名訪問,或者加了來賓用戶。

 

另外到默認的郵件路徑下,看一下C:/Inetpub/mailroot/Queue裏面是否有違發送的郵件,如果有稍等一下,看是否消失,如果消失;然後再到C:/Inetpub/mailroot//Badmail 查看你的郵件是否還留在此文件夾下,如果有則說明發送失敗了。 然後再給mairoot文件夾的訪問權限增大,允許普通用戶操作。

 

 

 

一切操作完成,再次運行腳本,郵件就可以發送成功。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章