打算做一个报警信息邮件自动发送,由于DELL的服务器自带的监控软件(Openmanager)无法实现自动发送邮件,当机器有故障时,他只能运行指定的程序,所以从网上找了一个VBS,希望能达到预期的效果,可是情况不容乐观,问题好像出在Smtp那里,可是这个smtp的地址我在其他的应用程序中也在用,是没有问题的,不知道各位是否能帮个忙,谢谢了。
代码如下:- For counter = 1 To 3 Step 1
- SendMail
- Next
- Public Sub SendMail
- NameSpace = "http://schemas.microsoft.com/cdo/configuration/"
- Set Email = CreateObject("CDO.Message")
- Email.From = "Server" '发件人名称
- Email.To = "test@163.com" '收件人邮件地址
- Email.Subject = GetIP&" 温度告警!" '邮件主题
- Email.Textbody="Test" '邮件内容
- With Email.Configuration.Fields
- .Item(NameSpace&"sendusing") = 2
- .Item(NameSpace&"smtpserver") = "smtp.163.com" 'SMTP服务器地址
- .Item(NameSpace&"smtpserverport") = 25 'SMTP服务器端口
- .Item(NameSpace&"smtpauthenticate") = 1 'SMTP身份验证
- .Item(NameSpace&"sendusername") = "test" '发件帐号
- .Item(NameSpace&"sendpassword") = "test" '发件密码
- .Update
- End With
- Email.Send
- End Sub
- Public Function GetIP
- ComputerName="."
- Dim objWMIService,colItems,objItem,objAddress
- Set objWMIService = GetObject("winmgmts:\\" & ComputerName & "\root\cimv2")
- Set colItems = objWMIService.ExecQuery("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
- For Each objItem in colItems
- For Each objAddress in objItem.IPAddress
- If objAddress <> "" then
- GetIP = objAddress
- Exit Function
- End If
- Next
- Next
- End Function
复制代码
|