Книга знаний

1С:Предприятие / v8 / Объекты конфигурации

v8: Практическая работа с почтой

Как 1с работает с различными почтовыми клиентамиАвтор статьи: 1CLama | Редакторы:
Последняя редакция №2 от 18.01.08 | История
URL: http://kb.mista.ru/article.php?id=629

Ключевые слова: почта, e-mail, почтовые сообщения, Бат, Аутлук, Аутгюк, The Bat, Outlook, Mozilla Thunderbird


В 1с есть возможность отправки сообщений автоматически(из почтового клиента), не клацая на кнопочку отправить. У МЕНЯ 1С АВТОМАТИЧЕСКИ РАБОТАЛ ТОЛЬКО С БАТОМ. Вот такой код:

Попытка
   ОтправитьПоПочте2(ТекСтрока); // работает с Батом
Исключение
   Попытка
   ОтправитьПоПочте1(ТекСтрока); // работает с Аутлуком, но переспрашивает при отправке
   Исключение
       Сообщить_и_записать("Ошибка при отправке почты - "+ОписаниеОшибки(),СтатусСообщения.Важное);
   КонецПопытки;
КонецПопытки;

Процедура ОтправитьПоПочте1(ТекСтрока)
   Почта = Новый Почта;
   Сообщение = Новый ПочтовоеСообщение;
   //Работает с Аутглуком, но переспрашивает при отправке
   //не работает с Батом 3.60
   Почта.Подключиться("name@mysite.dp.ua","password");
 
   Сообщение.Вложения.Добавить(ПолучитьИмяФайлаПодразделения(ТекСтрока.филиал.наименование));
   Сообщение.Получатели.Добавить(ТекСтрока.филиал.email);
   Сообщение.Тема ="Проигнорированные документы в офисе. Письмо сгенерированно роботом";
   Сообщение.Текст="Проверьте, будь ласка эти документы ПОСЛЕ получения обновления из офиса. Ваши изменения в этих документах не попали в базу. Откройте прикрепленный файл";
   Почта.Послать(Сообщение);
   Почта.Отключиться();
   УдалитьФайлы(ПолучитьИмяФайлаПодразделения(ТекСтрока.филиал.наименование));
КонецПроцедуры          

Процедура ОтправитьПоПочте2(ТекСтрока)
   ПочтовыйПрофиль = Новый ИнтернетПочтовыйПрофиль;
   ПочтовыйПрофиль.АдресСервераPOP3   = "pop3.mysite.dp.ua";
   ПочтовыйПрофиль.АдресСервераSMTP   = "smtp.mysite.dp.ua";
   ПочтовыйПрофиль.ПортSMTP           = 25;
   ПочтовыйПрофиль.ПортPOP3           = 110;
   ПочтовыйПрофиль.Пользователь       = "name";
   ПочтовыйПрофиль.Пароль             = "password";
   ПочтовыйПрофиль.ВремяОжидания      = 60;
     
   Сообщение = Новый ИнтернетПочтовоеСообщение ;
   Сообщение.Вложения.Добавить(ПолучитьИмяФайлаПодразделения(ТекСтрока.филиал.наименование));
   Сообщение.Получатели.Добавить(ТекСтрока.филиал.email);
   Сообщение.Тема ="Проигнорированные документы в офисе. Письмо сгенерированно роботом";
   Сообщение.ИмяОтправителя="Обмен";
   Сообщение.Отправитель="name@mysite.dp.ua";
     
   Текст = Сообщение.Тексты.Добавить("Проверьте, будь ласка эти документы ПОСЛЕ получения обновления из офиса. Ваши изменения в этих документах не попали в базу. Откройте прикрепленный файл");
   Текст.ТипТекста = ТипТекстаПочтовогоСообщения.ПростойТекст;
 
   Почта = Новый ИнтернетПочта();
   Почта.Подключиться(ПочтовыйПрофиль);
   Почта.Послать(Сообщение);
   Почта.Отключиться();
   УдалитьФайлы(ПолучитьИмяФайлаПодразделения(ТекСтрока.филиал.наименование));
КонецПроцедуры      
ВСЕ БЫ ХОРОШО, НО У МЕНЯ НЕ ПОЛУЧИЛОСЬ ЗАСТАВИТЬ 1с РАБОТАТЬ С IMAP-м (точнее, Бат не работал с IMAP ).
Вот так 1с работает с Мозилой Сундербердом (который хорошо поддерживает IMAP):
ПутьМозиллы = """C:/Program Files/Mozilla Thunderbird/thunderbird.exe""";
   Текст = Новый ЗаписьТекста(КаталогОбмена + "sendfiletofilial"+Строка(ТекСтрока.филиал.наименование)+".bat", КодировкаТекста.OEM);
   Текст.ЗаписатьСтроку("@echo off");
   Текст.ЗаписатьСтроку("@echo Отправка проигнорированных писем на филиал"+Строка(ТекСтрока.филиал.наименование));
   СтрокаЗапуска = " -compose to='"+ТекСтрока.филиал.email+"',cc='name@mysite.dp.ua',subject=""Проигнорированные документы в офисе. Письмо сгенерированно роботом"",body=""Проигнорированные документы в офисе. Письмо сгенерированно роботом"",attachment=""file://";
   Файл = """"+ПолучитьИмяФайлаПодразделения(ТекСтрока.филиал.наименование)+"""";
   Текст.ЗаписатьСтроку(ПутьМозиллы+СтрокаЗапуска +Файл);
   Текст.ЗаписатьСтроку("del "+Файл);
   Текст.Закрыть();
   ЗапуститьПриложение(КаталогОбмена + "sendfiletofilial"+Строка(ТекСтрока.филиал.наименование)+".bat",КаталогОбмена)

Описание | Рубрикатор | Поиск | ТелепатБот | Захваченные статьи | Установки | Форум
© Станислав Митичкин (Волшебник), 2005-2025 | Mista.ru

Яндекс.Метрика