Отправка сообщения электронной почты через VBScript
В том случае, если требуется отправить письмо по электронной почте, с использованием какого-нибудь скрипта, очень пригодится возможность отправки писем встроенными средствами VBScript. Шаблон такого скрипта выглядит следующим образом:
Давайте разберем основные важные параметры конфигурации в данном скрипте (в алфавитном порядке):
- 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, в котором следует указать полный путь к отправляемому файлу. Например:
Как должно быть понятно, здесь мы указываем необходимость вложить в письмо файл по пути C:\Mail\1.txt .
Постмачтер 2 или CDO Live!
Приходилось ли вам программно отправлять почту или получать доступ к сообщениям вашего почтового ящика? Если вы программировали эти задачи на Visual C++, то наверняка вам знаком интерфес MAPI. Но о нем говорить, к счастью, не будем.
Bо времена Exchange 5.0 cуществовал и более легкий способ работы с почтовыми сообщениями — при помощи библиотеки OLEMSG32, которая по сути была COM оберткой для MAPI. С появлением Exchange 5.5 Microsoft сменил название библиотеки, сделав его весомым и кратким — CDO (Collaboration Data Object). Функциональность же принципиально не изменилась.
Библиотеки CDO ранних версий ( CDO v 1.x ) основывались на интерфейсах MAPI, и предоставляли разработчикам способы управления почтовыми сообщениями проще чем MAPI. За счет этого программирование при помощи CDO стало популярно среди разработчиков. Для доступа к компонентам SMTP и NNTP, входящим в состав IIS 4.0 появилась библиотека CDONTS — специализированное подмножество CDO.
Вместе с Windows 2000 вышла библиотека CDO 2.0 или CDO for Windows 2000. Основой для нее явились принципиально новые решения: поддержка Internet-стандартов и стандартизация доступа к данным через OLE DB/ADO интерфейс. Известно, что операционная система Windows 2000 активно использует эту библиотеку для своих задач.
С выходом Exchange 2000 на свет появилась еще несколько библиотек CDO — 3.0 или CDO for Exchange 2000, CDO for Exchange Management и CDO Workflow Objects for Exchange. CDO for Exchange естественно расширяет функциональность CDO for Windows. С помощью CDO 3.0 возможна разработка программных решения на базе Web Store. А наличие механизмов перехвата транспорнтых событий и событий от операций с даннымии ( transport and store event) позволяет расширять функциональность Web Store.
Примечание: Web Store — одна из ключевых инициатив Microsoft для унификации доступа к данным. Web Store комбинирует функциональность файловой системы, Web — доступа и процедур коллективной работы.
Далее не будем вспоминать, что было в веке минувшем и подробнее остановимся на версиях CDO, поставляемых с продуктами Microsoft версии 2000.
CDO — отправка почты в 1С
CDO (Collaboration Data Objects) — это набор библиотек. Данный набор содержит различные библиотеки в том числе и для отправки почты. В 1С COM-объект "CDO.Message" позволяет отправлять почту.
В системе 1С существуют разные способы для отправки электронной почты. Во востроенном языке программирования 1С, существуют специальные встроенные объекты для работы с электронной почтой. Благодаря объектам (ИнтернетПочтовыйПрофиль, ИнтернетПочтовоеСообщение, ИнтернетПочта) возможно получение и отправление почтовых сообщений. Для отправки письма с использованием "CDO.Message" потребуется заполнить настройки сервера.
Отправить письмо
Комментарии (0)
Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться
Опытные мелочи-8, или «Почтовая тройка на VBS»
Продолжение «опытных мелочей». Предыдущие части: раз, два, три, четыре, пять, шесть, семь.
В очередном, небольшом выпуске я расскажу про элементарный, но довольно полезный скрипт, с помощью которого вы сможете отправлять электронную почту там, где это не предусмотрено сторонним софтом, а душа настойчиво просит.
- Скрипт использует старинный, но, от того не менее полезный объект CDO.Message
- Скрипт позволяет отправить e-mail на заданный адрес, указать обратный адрес, тему письма, отправить скрытую копию, добавить вложение в виде файла. Все эти параметры передаются скрипту в виде аргументов.
- Описание аргументов и пример использования можно посмотреть если просто запустить скрипт, без каких-либо параметров. Он выдаст мини-хелп.
- Настройки почтового сервера, при написании кода, было решено не выносить никуда вовне. Я посчитал, что это редкоизменяемые настройки, и в пределах одной среды они будут практически статичными. Это все настраивается прямо внутри скрипта в конце кода (там есть необходимые пояснения)
- С помощью этого скрипта можно решить ряд задач, например в нашем случае это было:
- отправка пакетов документов из 1С контрагентам (выбор документов — запуск обработки, которая а) распечатывает в PDF, б) отправляет готовые PDF по почте
- отправка почты после еженочной обработки нашей внутренней DBF базы в старинном софте для СКУД (там регулярно нужно строить отчеты по проходу через турникеты, но их можно делать только из консоли и только распечатывать. Мы специальной командой формируем отчет, печатаем в PDF и отправляем по почте начальнику СБ)
- отправка уведомлений о работе бэкапа там, где не стоит специального софта, все бэкапы примитивны и делаются самописными скриптами
- и т.п.
UPD: коллеги рассказывают, что есть уже готовые, более функциональные утилиты для таких задач, и что в статье описан очередной велосипед. Вот пример.