Modber Сообщество
профессионалов по 1С

Работа с почтой (удаленное управление 1С)



Платформы: 1С:Предприятие 8.3, 1С:Предприятие 8.2
Конфигурации: Все конфигурации
2014-08-09
3184 
drumasm
5  
Многие программисты 1С мечтают автоматизировать конфигурацию по максимуму. В одном из таких случаев может назреть вопрос: как обеспечить связь между 1С и пользователем, который в данный момент находится вдалеке от компьютера и базы 1С?

Можно использовать мобильное приложение, которое использует WEB сервер. А можно использовать обычную почту, с помощью которой довольно просто обмениваться информацией с 1С. Пользователь отсылает на определенный почтовый ящик письмо с темой, допустим "Отчет", а в тексте письма указывает период, разделитель учета и прочие параметры. 1С в это время проверяет почту на наличие новых писем и если такие существуют, то анализирует тему, текст письма, формирует отчет и отсылает его обратно в ответ на пользовательское письмо. Подобный алгоритм можно также использовать для создания документов.

А теперь подробнее рассмотрим метод подключение к серверу почты POP3 Mail.ru из 1С 8.2:

Создаем и заполняем профиль:
    ПрофильПочты = Новый ИнтернетПочтовыйПрофиль;
    ПрофильПочты.АдресСервераSMTP = "smtp.mail.ru";
    ПрофильПочты.ПортSMTP = 587;
    ПрофильПочты.АдресСервераPOP3 = "pop.mail.ru";
    ПрофильПочты.ПортPOP3 = 110;
    ПрофильПочты.Пользователь = "user@mail.ru";
    ПрофильПочты.Пароль = "passwrd";
    ПрофильПочты.ПользовательSMTP = "user@mail.ru";
    ПрофильПочты.ПарольSMTP = "passwrd";
    ПрофильПочты.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию;


Подключаемся к серверу и выбираем все письма:
    Почта = Новый ИнтернетПочта;
    Попытка
        Почта.Подключиться(ПрофильПочты, ПротоколИнтернетПочты.POP3);
        МассивПисем = Новый Массив;
        МассивПисем = Почта.Выбрать(Ложь);    //(Ложь) Письма не будут удаляться с сервера
    Исключение
        Предупреждение("Ошибка связи с почтовым сервером. " + ОписаниеОшибки());
        Возврат;
    КонецПопытки;


Массив "МассивПисем" заполняется сообщениями, которые в дальнейшем можно проанализировать и выполнить соответствующие действия.


Отправить письмо можно следующим образом:
    ИсходящееПисьмо = Новый ИнтернетПочтовоеСообщение;
    ИсходящееПисьмо.Отправитель = "1Сrobot@company.ru";
    ИсходящееПисьмо.Тема = "Отчет за I квартал";
    ИсходящееПисьмо.Получатели.Добавить("user@mail.ru");
    ИсходящееПисьмо.Тексты.Добавить(ТекстПисьма);
    // можно также добавить вложение
    ИсходящееПисьмо.Вложения.Добавить(ИмяZiPфайла);

    Попытка
        Сообщить("Отправка почты.");
        Почта.Подключиться(ПрофильПочты);
        Почта.Послать(ИсходящееПисьмо);
        Сообщить("Ваше письмо отправлено!");
    Исключение
        // В случае ошибки при отправке
        Предупреждение("Ошибка связи с почтовым сервером."+ОписаниеОшибки());
    КонецПопытки;


Данная методика очень удобна, так как написав основной движок приема/передачи писем, можно придумать множество полезных и удобных функций. Также можно подключить внешние библиотеки и управлять программами и устройствами за пределами 1С.



Бесплатная юридическая
консультация по телефону

8 (499) 350-80-26(Москва)
8 (812) 627-15-62(Спб)

звонок бесплатный

В центре внимания

Комментарии (0)