Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Windows

Как отправить email из командной строки без внешних утилит : Windows

26.04.2024 11:37


27.10.2017 13:36
Occul
 
В Windows тоже возникают задачи, которые требуют какие-то уведомления администратору. Самое простое, конечно, послать его по почте. Как это сделать? Сейчас объясню.

Почти везде рекомендуют blat. Но это не всякий себе может позволить в корпоративной среде (а дома вы, надеюсь, Windows не используете). Поэтому, для отправки сообщения мы будем использовать VBS, встроенный в Windows язык. Итак, создайте файл mailrep.vbs и поместите туда код.

Код:
Set objEmail = CreateObject("CDO.Message")

Set FSO=CreateObject("Scripting.FileSystemObject")

objEmail.From = "адрес от кого"

objEmail.To = "адрес кому, можно несколько через ;"

objEmail.Subject = "Daily report"

Set t_file = FSO.OpenTextFile("C:\report.txt", 1) 
objEmail.Textbody = t_file.ReadAll 
t_file.Close

objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2

objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "адрес почтового сервера"

objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25

objEmail.Configuration.Fields.Update

objEmail.Send
Создайте файл C:\report.txt, это будет тело письма. Соответственно, командой из батника
Код:
start mailrep.vbs
вы отправите report.txt кому надо (надеюсь, параметры почтовика и адреса в файле догадались поправить)
Если потребуется авторизация, добавьте в конфигурацию.
Код:
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = "domain\user"

objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password"
30.10.2017 17:31
vitamin
 
С SSL и TLS работать будет? например тот же жмэйл или офис365.
30.10.2017 18:14
OlegON
 
Попробуй, расскажешь :)
Я так полагаю, надо будет добавить еще
Код:
objEmail.SSL_init
objEmail.SSL_starttls = 1
и поменять порт
Часовой пояс GMT +3, время: 11:37.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.