Gyakran a rendszergazdák a Visual Basic Script (vbs) parancsfájlban használnak parancsfájlokat különféle szerverek vagy hálózati szolgáltatások figyelésére.
Tehát előttem volt egy szkript írása, hogy ellenőrizni lehessen bizonyos eseményeket a szerveren, és arra az esetre, ha e-mailt küldenek a rendszergazda postafiókjába.
A levélküldés több módját már leírtam (levélküldés a PowerShell parancsfájlja segítségével, e-mail üzenetet közvetlenül a parancssorból is elküldhet a telnet segítségével). Mivel azonban a jelenlegi feladatban a figyelő szkript vbs-ben van írva, ésszerűbb lenne e-mailt küldeni közvetlenül a vbs szkript-kódból. Hogyan küldje el e-mail a vbs-től?
Az Internetnek hatalmas számú különféle szkriptje van e-mailek küldésére a vbs-ből (Visual Basic Script), de a probléma az, hogy többségük a Mapi (Outlook) vagy az SMTP szerver program interfészeit használja. És azóta Nem telepítettem az Outlookot a kiszolgálóra, és nem konfiguráltam a helyi SMTP-kiszolgáló szolgáltatásokat, a terveim nem tartalmaztak ilyen szkriptbeállítási lehetőségeket levélküldés a vbscript segítségével nem illett.
Szerencsére sikerült megtalálni egy normál küldési szkriptet e-mail a vbs-től, amely nem igényel semmi telepítését a kiszolgálóra:
SendMail () strSmtpServer = "msg-01" 'a levélkiszolgáló neve, az én esetemben az Exchange strSmtpPort = 25 strSmtpAuth = "nem" strSmtpSsl = "nem" strDate = dátum strSendingEmail = "[email protected]"' Feladó neve strReportE = "[email protected]" 'Címzett neve' WScript.Echo logPath & "\ backup" & strDate & ".html" Set objMessage = CreateObject ("CDO.Message") objMessage.Configuration.Fields.Item ("http: //schemas.microsoft.com/cdo/configuration/sendusing ") = 2 objMessage.Configuration.Fields.Item (" http://schemas.microsoft.com/cdo/configuration/smtpserver ") = strSmtpServer objMessage.Configuration.Fields .Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = strSmtpPort Ha strSmtpAuth = "igen", akkor objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo / configuration / smtpauthenticate ") = 1 'használja a' 2 'NTLM hitelesítéshez objMessage.Configuration.Fields.Item (" http://schemas.microsoft.com/cdo/config uration / sendusername ") = strSmtpUser objMessage.Configuration.Fields.Item (" http://schemas.microsoft.com/cdo/configuration/sendpassword ") = strSmtpPass End If If strSmtpSsl =" igen ", majd objMessage.Configuration.Fields. Elem ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Valós vége, ha objMessage.Configuration.Fields.Update objMessage.Subject = "Email tárgy" & strDate & "." objMessage.From = strSendingEmail objMessage.To = strReportEmail objMessage.HTMLBody = "Üzenet szövege" objMessage.Send End Function