Mengirim email dari vbs (VBScript)

Cukup sering, administrator sistem menggunakan skrip dalam skrip Visual Basic Script (vbs) untuk memantau berbagai server atau layanan jaringan.

Jadi, sebelum saya ada tugas menulis skrip untuk memonitor peristiwa-peristiwa tertentu di server dan seandainya terjadi pengiriman surat ke kotak surat administrator.

Saya telah menjelaskan beberapa cara untuk mengirim surat (mengirim surat menggunakan skrip di PowerShell, Anda juga dapat mengirim pesan email langsung dari baris perintah menggunakan telnet). Namun, karena dalam tugas saat ini skrip pemantauan ditulis dalam vbs, akan lebih masuk akal untuk mengirim email langsung dari kode skrip vbs. Cara mengirim email dari vbs?

Internet memiliki sejumlah besar berbagai skrip untuk mengirim email dari vbs (Visual Basic Script), tetapi masalahnya adalah sebagian besar dari mereka menggunakan antarmuka program Mapi (Outlook) atau server SMTP. Dan sejak itu Saya tidak menginstal Outlook di server atau mengonfigurasi layanan server SMTP lokal, paket saya tidak menyertakan opsi skrip tersebut mengirim email dari vbscript tidak cocok.

Untungnya, saya berhasil menemukan skrip kirim yang normal email dari vbs, yang tidak perlu menginstal apa pun di server:

Fungsi sendMail () strSmtpServer = "msg-01" 'nama server surat, dalam kasus saya ini adalah Exchange strSmtpPort = 25 strSmtpAuth = "tidak" strSmtpSsl = "tidak" strDate = tanggal strSendingEmail = "[email protected]" = "[email protected]" 'Nama Penerima' WScript.Echo logPath & "\ backup" & strDate & ".html" Tetapkan 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 Jika strSmtpAuth = "ya" Kemudian objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo / configuration / smtpauthenticate ") = 1 'gunakan' 2 'untuk otentikasi NTLM 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 Jika If strSmtpSsl =" yes "Kemudian objMessage.Configurs.Fields. Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True End If objMessage.Configuration.Fields.Update objMessage.Subject = "Subjek email" & strDate & "." objMessage.From = strSendingEmail objMessage.To = strReportEmail objMessage.HTMLBody = "Teks Pesan" objMessage.Send End Function