Отправка сообщения электронной почты через VBScript
- Recluse
- 17.01.2021
- 4 325
- 7
- 28.09.2022
- 7
- 7
- 0
Отправка простого письма
В том случае, если требуется отправить письмо по электронной почте, с использованием какого-нибудь скрипта, очень пригодится возможность отправки писем встроенными средствами 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.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:\Mail\1.txt"
Как должно быть понятно, здесь мы указываем необходимость вложить в письмо файл по пути C:\Mail\1.txt
.
Но что, если требуется отправить несколько файлов в одном письме? В таком случае, нужно повторно использовать все тот же параметр objMessage.AddAttachment, просто задав в нем путь к следующему файлу.
objMessage.AddAttachment "C:\Mail\1.txt"
objMessage.AddAttachment "C:\Mail\2.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.Subject = "Проверка"
objMessage.From = """Проверка"" <[АДРЕС ЭЛЕКТРОННОЙ ПОЧТЫ ОТПРАВИТЕЛЯ]>"
objMessage.To = "[АДРЕС ЭЛЕКТРОННОЙ ПОЧТЫ ПОЛУЧАТЕЛЯ]"
objMessage.TextBody = "Сообщение для проверки отправки электронной почты через VBScript"
objMessage.AddAttachment "[ПОЛНЫЙ ПУТЬ К ПЕРВОМУ ФАЙЛУ ВЛОЖЕНИЯ]"
objMessage.AddAttachment "[ПОЛНЫЙ ПУТЬ КО ВТОРОМУ ФАЙЛУ ВЛОЖЕНИЯ]"
' Отправка сообщения
objMessage.Send
Добавить комментарий