Свойства и методы объекта V7Mail
Внешняя компонента V7Plus.dll (релиз 001-003) состоит из четырех объектов V7Mail, V7SysInfo, V7HttpReader и XMLParser. В релиз 004 компоненты добавлен объект для работы с текстовыми файлами - V7TextFile.
Инициализация внешней компоненты может осуществляется с помощью метода ЗагрузитьВнешнююКомпоненту(<ИмяФайлаКомпоненты>)" где
<ИмяФайлаКомпоненты> - имя файла внешней компоненты "V7Plus.dll".
Если не указан пусть поиска, файл компоненты ищется последовательно в каталоге пользователя, в каталоге информационной базы, и в каталоге c исполняемым файлом 1С:Предприятия.
Объект компоненты предназначен для расширения функциональности 1С:Предприятия в части работы с электронной почтой. Он позволяет работать как с программой "1C:Электронная Почта", так и с любым почтовым клиентом, работающим через MAPI (например Outlook Express, Outlook ). С помощью объекта V7Mail можно создавать, посылать и принимать сообщения, причем сообщение может иметь несколько адресатов и присоединенных файлов.
Для осуществления доступа к методам и свойствам объекта V7Mail необходимо вызвать функциюСоздатьОбъект, передав ей строку "AddIn.V7Mail" в качестве параметра, и получить ссылку на объект, которая присваивается переменной, через которую и будет осуществляться доступ.
Например:
Почта = СоздатьОбъект("AddIn.V7Mail");
Работа с почтой начинается с установки соединения с помощью метода Подключиться, который инициализирует сеанс работы с почтой. Если параметры подключения не заданы, то они берутся со страницы свойств компоненты. Для организации сеанса с параметрами подключения, отличающимися от заданных на странице свойств компоненты, необходимо указать эти параметры в методе Подключиться. Если подключение прошло успешно, можно начать работу с сообщениями.
Для инициализации процесса создания нового сообщения используется метод НовоеСообщение. Далее, с помощью метода ДобавитьАдрес можно задать один или несколько адресов, по которым будет отправлено сообщение. Формат адреса зависит от почтового клиента, выбранного в параметрах подключения. При необходимости, можно присоединить к сообщению один или несколько файлов, воспользовавшись методом ДобавитьФайл. Заголовок и текст сообщения задаются в соответствующих атрибутах сообщения.
Отправка сообщения осуществляется с помощью метода Послать. Для успешной отправки сообщения необходимо, чтобы для него был задан хотя бы один адресат. Метод Послать предоставляет возможность просмотра и редактирования сообщения перед отправкой (только в случае работы с клиентом MAPI ). Для этого необходимо передать в качестве параметра <Просмотр> 1.
Процесс приема сообщений инициализируется методом ВыбратьСообщения. Если в полученной выборке присутствует хотя бы одно сообщение - он возвращает 1, в противном случае - 0. Если выбрано хотя бы одно сообщение, то можно организовать цикл их получения с помощью метода ПолучитьСообщение, который последовательно выбирает их из полученной выборки. Если возвращаемое значение равно 0, то сообщений больше нет. После получения сообщения доступны для чтения адрес отправителя и заголовок сообщения. Для получения доступа к тексту и присоединенным файлам сообщения, его необходимо прочитать с помощью метода ПрочитатьСообщение. Этот метод изменяет статус сообщения на прочитанное, и оно не попадает в последующие выборки.
Если необходимо, чтобы сообщение попадало в последующие выборки, можно не изменять статус сообщения, передав в качестве параметра 0. Текст сообщения хранится в атрибуте Текст, а полные пути к присоединенным файлам можно получить, организовав цикл с помощью метода ПолучитьФайл. Если присоединенных файлов больше нет, метод ПолучитьФайл возвращает 0. Файлы копируются во временный каталог и удаляются при переходе на следующее сообщение (ПолучитьСообщение).
Завершается работа с почтой с помощью метода Отключиться.
Настройка параметров объекта V7Mail производится в диалоге системных настроек, который вызывается при выборе пункта "Параметры" раздела меню "Сервис".
На закладке "Электронная почта" вынесены следующие настройки:
"MAPI" или "1C:Электронная Почта" - позволяет установить тип электронной почты, с которой будет работать компонента. Если этот параметр не задан, при инициализации сеанса работы с почтой в методе Подключиться следует указать его значение (см. описание метода Подключиться).
В зависимости от выбранного типа электронной почты на странице свойств отображаются соответствующие данному типу параметры подключения.
Для этого типа электронной почты необходимо указать следующие параметры:
Конфигурация подключения (строковое выражение) - конфигурация подключения (например - "Outlook").
Пароль (строковое выражение) - пароль абонента.
Указывать параметры не обязательно, т.к. если они не заданы или заданы неправильно, то при инициализации сеанса работы с почтой методом Подключиться без параметров выбирается конфигурация подключения, заданная по умолчанию почтовым клиентом "MAPI".
Если нужно организовать сеанс работы с почтой с параметрами подключения, отличными от заданных в конфигурации подключения клиента MAPI, то нужно задать эти параметры на странице свойств компоненты ("Сервис/Параметры/Электронная почта") или в методе Подключиться.
Для этого типа электронной почты необходимо указать следующие параметры:
Имя пользователя (строковое выражение) - почтовое имя абонента в системе "1С:Электронная Почта" (например - "ИМЯ.УЗЕЛ", где Имя - локальное имя пользователя, УЗЕЛ - наименование почтового узла).
Пароль (строковое выражение) - пароль абонента в системе "1С:Электронная Почта".
Каталог почтового узла (строковое выражение) - путь к сетевому почтовому узлу (диск должен быть обязательно подключен).
В случае использования программы "1С:Электронная Почта" параметры подключения должны быть обязательно определены либо на странице свойств компоненты, либо при инициализации сеанса работы с почтой с помощью метода Подключиться. Все параметры являются обязательными и не могут быть пропущены. При нажатии кнопки Применить компонента пытается установить соединение с почтовым узлом и, если соединение установлено, сохраняет параметры подключения.
В случае использования программы "1С:Электронная Почта" необходимо дополнительно использовать dll-файлы "1cml32.dll" и "unizip32.dll", которые следует поместить в каталог с файлом программы (наПример: "C:\Program Files\1cv77\BIN") или каталог базы данных.
Внимание!!! Если до использования метода Подключить уже запущена программа "1C:Электронная Почта", соединение с почтовым узлом не может быть установлено, а в табло сообщений об этом выводится соответствующее сообщение.
Синтаксис:
Заголовок
Англоязычный синоним:
Subject
Описание:
Заголовок сообщения (строковое выражение).
Синтаксис:
Текст
Англоязычный синоним:
Text
Описание:
Текст сообщения (строковое выражение).
Синтаксис:
ДатаОтправки
Англоязычный синоним:
DatеSend
Описание:
Дата отправки письма в формате "ГГГГ/ММ/ДД ЧЧ:ММ", где ГГГГ - год, ММ - месяц, ДД - день; ЧЧ - час, ММ - минута отправки письма.
Инициализация сеанса работы с почтой
Синтаксис:
Подключиться()
Подключиться("1C", <ИмяАбонента>, <Пароль>, <КаталогПочтовогоУзла>)
Подключиться("MAPI", <КонфигурацияПодключения>, <Пароль>)
Англоязычный синоним:
Logon
Параметры:
<ИмяАбонента> (строковое выражение) - почтовое имя абонента в системе "1С:Электронная Почта"
<Пароль> (строковое выражение) - пароль
<КаталогПочтовогоУзла> (строковое выражение) - каталог почтового узла (диск должен быть обязательно подключен)
<КонфигурацияПодключения> (строковое выражение) - название используемой конфигурации подключения
Возвращаемое значение:
Нет
Описание:
1.Метод Подключиться инициализирует сеанс работы с почтой в соответствии с выбранным на закладке свойств компоненты типом почты и параметрами подключения.
2.Метод Подключиться инициализирует сеанс работы с "1С:Электронная Почта" с выбранными параметрами подключения.
3.Метод Подключиться инициализирует сеанс работы с почтой MAPI с соответствующими параметрами подключения и паролем.
Завершить сеанса работы с почтой
Синтаксис:
Отключиться()
Англоязычный синоним:
Logoff
Параметры:
Нет
Возвращаемое значение:
Нет
Описание:
Метод Отключиться завершает сеанс работы с почтой инициализированный методом Подключиться.
Создать новое сообщение
Синтаксис:
НовоеСообщение()
Англоязычный синоним:
NewMessage
Параметры:
Нет
Возвращаемое значение:
Нет
Описание:
Метод НовоеСообщение инициализирует создание нового сообщения. После инициализации происходит заполнение его реквизитов с последующим вызовом метода Послать.
Добавляет адрес рассылки письма
Синтаксис:
ДобавитьАдрес(<Адрес>)
Англоязычный синоним:
AddAddress
Параметры:
<Адрес> (строковое выражение) - почтовый адрес
Возвращаемое значение:
Нет
Описание:
Метод ДобавитьАдрес добавляет адрес в список адресов получателей данного сообщения, созданного методом НовоеСообщение. Адрес формируется в соответствии с выбранным типом ЭП.
Добавляет файл к письму
Синтаксис:
ДобавитьФайл(<ИмяФайла>)
Англоязычный синоним:
AddFile
Параметры:
<ИмяФайла> (строковое выражение) - значение полного пути к добавляемому файлу
Возвращаемое значение:
Нет
Описание:
Метод ДобавитьФайл позволяет добавить имя нового файла в список присоединенных файлов сообщения, созданного методом НовоеСообщение. Файл должен существовать. В случае "1C:Электронная Почта" диск, на котором находится файл (диск должен быть обязательно подключен).
Послать сообщение
Синтаксис:
Послать(<Просмотр>)
Англоязычный синоним:
Send
Параметры:
<Просмотр> числовое значение
0 - не отображать окно редактирования сообщения перед отправкой (значение по умолчанию)
1 - отображает окно редактирования и позволяет просмотреть и отредактировать сообщение перед отправкой (только в случае работы с клиентом MAPI)
Возвращаемое значение:
Нет
Описание:
Метод Послать позволяет отправить сообщение, созданного методом НовоеСообщение. У посылаемого сообщения обязательно должен быть задан хотя бы один адресат.
Инициализирует процесс получения сообщений
Синтаксис:
ВыбратьСообщения()
Англоязычный синоним:
SelectMеssages
Параметры:
Нет
Возвращаемое значение:
Числовое значение:
0 - сообщений нет;
1 - выбрано хотя бы одно сообщение.
Описание:
Метод ВыбратьСообщения инициализирует процесс получения сообщений с помощью метода ПолучитьСообщение.
ПолучитьСообщение
Синтаксис:
ПолучитьСообщение()
Англоязычный синоним:
ReceiveMessage
Параметры:
Нет
Возвращаемое значение:
Числовое значение:
1 - сообщение получено успешно;
0 - сообщений больше нет.
Описание:
Метод ПолучитьСообщение выбирает следующее сообщение из выборки, открытой с помощью метода ВыбратьСообщения. Данный метод используется для организации цикла по сообщениям. После получения сообщения доступны для чтения адрес отправителя и заголовок сообщения. Содержимое сообщения (текст и присоединенные файлы) будет доступно после выполнения метода ПрочитатьСообщение.
Получить содержимое сообщения
Синтаксис:
ПрочитатьСообщение(<Флаг>)
Англоязычный синоним:
ReadMessage
Параметры:
<Флаг> Числовое значение
0 - не помечать как прочитанное
1 - помечать как прочитанное (значение по умолчанию)
Возвращаемое значение:
Нет
Описание:
Метод ПрочитатьСообщение позволяет получить содержимое сообщения (текст и присоединенные файлы), полученного с помощью метода ПолучитьСообщение. Текст сообщения хранится в атрибуте Текст, а полные пути к присоединенным файлам можно получить с помощью метода ПолучитьФайл. Файлы копируются во временную директорию и удаляются при переходе на следующее сообщение (метод ПолучитьСообщение)
Параметр <Флаг> определяет состояние сообщения после прочтения:
0 - сообщение не помечается как прочитанное и может быть повторно получено и прочитано;
1 - сообщение помечается как прочитанное и не попадает в последующие выборки.
Получить адрес отправителя полученного сообщения
Синтаксис:
АдресОтправителя()
Англоязычный синоним:
SenderAddress
Параметры:
Нет
Возвращаемое значение:
<Адрес> (строковое выражение) - значение адреса отправителя сообщения
Описание:
Метод АдресОтправителя позволяет получить адрес, с которого было отправлено сообщение. Для того, чтобы получить адреса отправителя надо сначала получить сообщение с помощью метода ПолучитьСообщение.
Получить имя и полный путь к следующему присоединенному файлу полученного сообщения
Синтаксис:
ПолучитьФайл(<ИмяФайла>,<Каталог>)
Англоязычный синоним:
GetFile
Параметры (возвращаемые):
<ИмяФайла> (строковое выражение) - имя файла
<Каталог> (строковое выражение) - каталог (Disk:\Path\)
Возвращаемое значение:
Числовое значение:
1 - получено успешно;
0 - файлов больше нет
Описание:
Метод ПолучитьФайл получить имя и каталог следующего присоединенного файла сообщения, прочитанного с помощью метода ПрочитатьСообщение. Данный метод используется для организации цикла по присоединенным файлам сообщения. Если файл в дальнейшем планируется использовать, то его необходимо переименовать или скопировать в другое место. При получении следующего сообщения все присоединенные файлы данного сообщения будут удалены.
Удалить сообщение
Синтаксис:
УдалитьСообщение()
Англоязычный синоним:
DeleteMessage
Параметры:
Нет
Возвращаемое значение:
Нет
Описание:
Метод УдалитьСообщение удаляет текущее сообщение, полученное с помощью метода ПолучитьСообщение. (и, возможно, прочитанное с помощью метода ПрочитатьСообщение).
Перем Почта Экспорт;
ЗагрузитьВнешнююКомпоненту("V7Plus.dll");
Почта = СоздатьОбъект("AddIn.V7Mail");
Процедура ПослатьСообщение()
Почта.Подключиться("MAPI","МояКонфигурацияПодключения, "");
Почта.НовоеСообщение();
Почта.ДобавитьАдрес("xxx@yyy.zzz");
Почта.ДобавитьФайл("invoice.txt");
Почта.Заголовок="Прайс-лист фирмы ТоргТехника";
Почта.Текст="В прилагаемом файле помещен прайс лист нашей
фирмы";
Почта.Послать();
Почта.Отключиться();
КонецПроцедуры
Процедура ПринятьСообщения()
Перем ПутьКФайлу, ИмяФайла;
ТекстДок=СоздатьОбъект("Текст");
Почта.Подключиться();
Почта.ВыбратьСообщения();
Пока Почта.ПолучитьСообщение() = 1 Цикл
АдресОтправителя=Почта.АдресОтправителя();
Заголовок=Почта.Заголовок;
Почта.ПрочитатьСообщение(0);
Текст=Почта.Текст;
Пока Почта.ПолучитьФайл(ПутьКФайлу, ИмяФайла) = 1 Цикл
ТекстДок.Открыть(ПутьКФайлу+ИмяФайла);
ТекстДок.ТолькоПросмотр(1);
ТекстДок.Показать(Заголовок);
КонецЦикла;
КонецЦикла;
Почта.Отключиться();
КонецПроцедуры
Работа объекта V7Mail компоненты проверялась со следующими программами:
Не нужно задавать конфигурацию подключения - всегда выбирается конфигурация, заданная по умолчанию в Internet Accounts (меню Tools->Accounts, закладка Mail).
При отправке сообщения необходимо перед адресом добавлять "SMTP:" (например - SMTP:xxxxxx@ru);
1. При отправке сообщения необходимо перед адресом добавлять "SMTP:" (например - SMTP:xxxxxx@ru);
2. Если E-Mail сервис сконфигурирован как "Internet Only", то прием и отправка сообщений происходит только при запущенном Outlook 2000. Рекомендуется использовать конфигурацию "Corporate or Workgroup", которая не требует для работы с сообщениями запущенного Outlook 2000.
При приеме с помощью объекта V7Mail сообщений, содержащих присоединенные файлы, эти файлы оказываются в составе текста сообщения. Отправка сообщений проходит нормально.