Отправка сообщения электронной почты через VBScript

Отправка простого письма

В том случае, если требуется отправить письмо по электронной почте, с использованием какого-нибудь скрипта, очень пригодится возможность отправки писем встроенными средствами 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

Комментарии

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *