2014-10-20 43 views
0

我試過了下面的代碼,沒有引發任何錯誤。也沒有郵件發送。使用VBscript發送文字電子郵件

Dim i, objEmail 

' Use custom error handling 
On Error Resume Next 

Set objEmail = CreateObject("CDO.Message") 

' Fill in the field values 
With objEmail 
    .From  = "[email protected]" 
    .To  = "[email protected]" 
    .Subject = "Test" 
    .TextBody = "Email from VB Script" 

If mySMTPPort = "" Then 
     mySMTPPort = 25 
    End If 

With .Configuration.Fields 
     .Item("http://schemas.microsoft.com/cdo/configuration/sendusing"  ) = 2 
     .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver" ) = "HostNameHere" 
     .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 
     .Update 
    End With 
    .Send 
End With 
' Return status message 
If Err Then 
    EMail = "ERROR " & Err.Number & ": " & Err.Description 
    Err.Clear 
Else 
    EMail = "Message sent ok" 
End If 

' Release the e-mail message object 
Set objEmail = Nothing 

當我執行這個VBS文件時,它什麼也沒做。請幫助我。我必須從我的域發送簡單的文本電子郵件到另一個域。或者是否有我想要執行的任務的解決方法?

+0

你想要一個批處理文件嗎? http://stackoverflow.com/questions/23010079/vb-script-for-send-mail/23011839#23011839 – foxidrive 2014-10-20 07:43:27

回答

-1

您的代碼隱藏錯誤。錯誤的默認屬性是數字。所以你說如果err.number = 0(與false相同)然後錯誤,如果err.number不是0(即錯誤)一切正常。

+0

錯了。當錯誤發生時,即當'Err'對象被填充時,'If Err Then'被正確觸發。 – 2014-10-20 08:35:49

0

嘗試發送郵件時可能會出現錯誤。但是,您啓用了錯誤處理(On Error Resume Next),但是您的錯誤處理程序只是將錯誤信息放入一個變量中,而沒有對該變量實際做任何事情。並稱,相呼應的變量應爲您提供更多的信息,這是怎麼回事就行:

If Err Then 
    EMail = "ERROR " & Err.Number & ": " & Err.Description 
    Err.Clear 
Else 
    EMail = "Message sent ok" 
End If 
WScript.Echo EMail

應提供有關發生了什麼事情的詳細信息。

編輯:顯然你會得到一個連接錯誤。這有幾個可能的原因。首先檢查您的域名解析正常工作:

nslookup HostNameHere 

如果名稱不能解決無論是在你的腳本中使用的IP地址或獲取名稱解析固定。

下一個檢查,如果你可以連接到端口25在遠程主機上,無論是通過名稱和IP地址:

telnet HostNameHere 25 
telnet a.b.c.d 25 

如果你得到這樣的結果:

C:\>telnet HostNameHere 25 
Connecting To HostNameHere...Could not open connection to the host, on port 25: 
Connect failed

東西堵你的連接。可能是網絡防火牆,遠程主機上基於主機的防火牆,或者首先沒有監聽端口25的服務。請諮詢您的網絡管理員和/或郵件服務器的管理員。

+0

你是對的,現在我收到一個錯誤「The Transport Failed to connect」,你能幫忙嗎? – 2014-10-20 09:06:07

+0

@Anantvaibhav查看更新的答案。 – 2014-10-20 11:56:49