Всем привет.
Возращаясь к вопросу отправки писем с помощью скрипта VB (позже Powershell) мне посоветовали вот такой вот пример:
Dim objStream, strData
Set objEmail = CreateObject("CDO.Message")
objEmail.From = "Server-01@forza.com"
objEmail.To = "SuperAdmin@forza.com,ServiceDesk@forza.com"
objEmail.Subject = "Info about Server-01"
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "forza-mail.com"
objEmail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objEmail.Configuration.Fields.Update
Set objStream = CreateObject("ADODB.Stream")
objStream.CharSet = "UTF-8"
objStream.Open
objStream.LoadFromFile("D:\alarm.txt")
strData = objStream.ReadText()
objEmail.Textbody = strData
objEmail.Send
objStream.Close
Set objStream = Nothing
Напомню что проблема была в том, что VB-скрипт не считывал корректно кириллицу из файла в текст письма. Поэтому якобы чтение через ADODB.Stream вместо FSO.OpenTextFile эту проблему решает. Увы, не решает. Кракозябры приходят как и раньше.(
Поэтому пришлось вернуться к формированию тела письма прямо в коде:
$EmailFrom = "Server-01@forza.com"
$EmailTo = "SuperAdmin@forza.com,ServiceDesk@forza.com"
$Subject = "До наради"
$Body = "Доброго дня, за минулу добу все гаразд."
$SmtpServer = "forza-mail.com"
$smtp = New-Object net.mail.smtpclient($SmtpServer)
$smtp.Send($EmailFrom, $EmailTo, $Subject, $Body)
Вот так вот.
1 comment:
Отправленное таким образом письмо не отображается в Outlook отправителя.
Post a Comment
А что вы думаете по этому поводу?