Отправка простого письма
В том случае, если требуется отправить письмо по электронной почте, с использованием какого-нибудь скрипта, очень пригодится возможность отправки писем встроенными средствами VBScript. Шаблон такого скрипта выглядит следующим образом:
Set objMessage = CreateObject("CDO.Message") ' Настройки почтового сервера Set objConfig = objMessage.Configuration objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "[ПАРОЛЬ]" objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[ЛОГИН]" objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "[АДРЕС SMTP СЕРВЕРА]" objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True objConfig.Fields.Update ' Сообщение objMessage.BodyPart.Charset = "windows-1251" objMessage.Subject = "Проверка" objMessage.From = """Проверка"" <[АДРЕС ЭЛЕКТРОННОЙ ПОЧТЫ ОТПРАВИТЕЛЯ]>" objMessage.To = "[АДРЕС ЭЛЕКТРОННОЙ ПОЧТЫ ПОЛУЧАТЕЛЯ]" objMessage.TextBody = "Сообщение для проверки отправки электронной почты через VBScript" ' Отправка сообщения objMessage.Send
Давайте разберем основные важные параметры конфигурации в данном скрипте (в алфавитном порядке):
objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword")— пароль от почтового сервера.objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername")— логин от почтового сервера.objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing")— для отправки через внешний сервер, следует устанавливать значение 2. Значение 1 предназначено для использования с локальным сервером, к примеру Microsoft Exchange или IIS, где настроена служба SMTP.objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate")— авторизация на сервере SMTP. Если она не требуется (анонимная отправка), нужно поставить значение 0, в противном случае должно быть значение 1.objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver")— адрес сервера SMTP.objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport")— порт SMTP сервера. По умолчанию это 25 порт.objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpusessl")— использовать (1) или не использовать (0) защищенное SSL соединение.
Соответственно, установив нужные параметры в данном скрипте, можно спокойно отправлять письма электронной почты через VBScript с использованием внешних почтовых сервисов — к примеру, Яндекс Почты.
Отправка письма с вложениями
Если вы захотите добавить в свое письмо какое-то вложение, то нужно будет добавить параметр objMessage.AddAttachment, в котором следует указать полный путь к отправляемому файлу. Например:
objMessage.AddAttachment "C:Mail1.txt"
Как должно быть понятно, здесь мы указываем необходимость вложить в письмо файл по пути C:Mail1.txt.
Но что, если требуется отправить несколько файлов в одном письме? В таком случае, нужно повторно использовать все тот же параметр objMessage.AddAttachment, просто задав в нем путь к следующему файлу.
objMessage.AddAttachment "C:Mail1.txt" objMessage.AddAttachment "C:Mail2.txt"
В таком случае, полный скрипт будет иметь следующий вид:
Set objMessage = CreateObject("CDO.Message") ' Настройки почтового сервера Set objConfig = objMessage.Configuration objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "[ПАРОЛЬ]" objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[ЛОГИН]" objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "[АДРЕС SMTP СЕРВЕРА]" objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True objConfig.Fields.Update ' Сообщение objMessage.BodyPart.Charset = "windows-1251" objMessage.Subject = "Проверка" objMessage.From = """Проверка"" <[АДРЕС ЭЛЕКТРОННОЙ ПОЧТЫ ОТПРАВИТЕЛЯ]>" objMessage.To = "[АДРЕС ЭЛЕКТРОННОЙ ПОЧТЫ ПОЛУЧАТЕЛЯ]" objMessage.TextBody = "Сообщение для проверки отправки электронной почты через VBScript" objMessage.AddAttachment "[ПОЛНЫЙ ПУТЬ К ПЕРВОМУ ФАЙЛУ ВЛОЖЕНИЯ]" objMessage.AddAttachment "[ПОЛНЫЙ ПУТЬ КО ВТОРОМУ ФАЙЛУ ВЛОЖЕНИЯ]" ' Отправка сообщения objMessage.Send

Добавить комментарий