Отправка e-mail через Microsoft Office Outlook

02.03.11

Разработка - Универсальные функции

Способ обхода повышенной безопасности Microsoft Office Outlook, для программного доступа к функциям работы с почтой. Используется библиотека Outlook Redemption.

Сама библиотека Outlook Redemption реализована в виде COM DLL. Разработчик Dmitry Streblechenko.

Смысл использования библиотеки состоит в том, что начиная с версии Outlook 2000 и по сей день Microsoft использует режим повышенной безопасности для доступа к Outlook через СDO. В результате программная работа с Outlook либо вообще блокируется, либо каждый раз выдаются предупреждающие сообщения, надоедающие пользователям. Библиотека Redemption позволяет обойти повышенную безопасность и спокойно работать с Microsoft Office Outlook.

Пример кода, для полуавтоматической отправки заказа поставщику из Управления Торговлей. Заказ сохраняется в XLS, присоединяется к письму, и письмо, готовое для отправки, отображается на экране. Далее в новом сообщении Outlook, пользователь может дописать что-нибудь и нажать кнопку Отправить.

функция ПослатьВложениеXLS(ПосылатьОтчет=ложь) экспорт
    Если ПосылатьОтчет тогда
        Отчет=Элементыформы.ПолеТабличногоДокумента;
    иначе
        Отчет=ПечатныйДокумент;
    конецесли;
    ФайлВФорматеXLS = "c:\temp\Заказ.xls"; //ПолучитьИмяВременногоФайла();
    Отчет.Записать(ФайлВФорматеXLS, ТипФайлаТабличногоДокумента.XLS);
    
    myOlApp = Новый COMОбъект("Outlook.Application");
    myItem = myOlApp.CreateItem(0); 
    //Redemption
    SafeItem = Новый COMОбъект("Redemption.SafeMailItem");
    SafeItem.Item = myItem;

    //Адрес
    Если Поставщик<>неопределено тогда
        Запрос=Новый запрос;
        Запрос.Текст="ВЫБРАТЬ КонтактнаяИнформация.Представление 
        | ИЗ 
        | РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация 
        | ГДЕ 
        | КонтактнаяИнформация.Вид.Наименование =""Адрес электронной почты контрагента для обмена электронными документами"" 
        | И КонтактнаяИнформация.Объект = &Парам1";
        Запрос.УстановитьПараметр("Парам1",Поставщик);
        выборка=Запрос.Выполнить().Выбрать();
        выборка.следующий();
        адреспочты=выборка.Представление;
        если СокрЛП(адреспочты)<>"" тогда
            myRecipient = SafeItem.Recipients.Add(адреспочты);
        конецесли;
    конецесли;    
    SafeItem.Subject = Отчет.Область(3,2).Текст;
    myItem.BodyFormat=1;
    myItem.Body ="Добрый день.
    |
    |Заказ во вложении. Прошу выставить счет.
    |
    |С уважением,
    |Иванов Иван
    |
    |ООО «Иван»
    |+7 (111) 123-45-67";
    xlAplication = Новый COMОбъект("Excel.Application");    
    xlDoc=xlAplication.Workbooks.Open(ФайлВФорматеXLS);
    xlPS=xlDoc.Worksheets(1).PageSetup;
    xlPS.Zoom=False;
    xlPS.FitToPagesWide=1;
    xlDoc.Save();
    xlAplication.quit();
    myAttachments = myItem.Attachments();
    myAttachments.Add( ФайлВФорматеXLS, 1, 1, "Заказ поставщику");
    SafeItem.Display();
    УдалитьФайлы(ФайлВФорматеXLS);
конецфункции

У библиотеки Redemption есть один важный нюанс. Если вы используете 1С:Предприятие на платформе x64, то и Microsoft Office и библиотека Redemption должны использоваться только 32х-разрядные! То есть офис надо ставить x86. Дело в том, что сама клиентская платформа 1С не имеет версии x64, а достучаться из 32-х разрядной 1С в офис x64 не получается.

Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

SALE! 50%

Мессенджеры и боты SMS рассылки Email рассылки Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Расширение 1С с полным набором инструментов для качественных транзакционных, триггерных и маркетинговых рассылок Email, SMS, MAX, WhatsApp, Telegram. Даже простые уведомления об оплате счетов способны существенно упростить сбор дебиторской задолженности. Применение всех возможностей прямого маркетинга выводит коммуникацию с клиентами, уровень сервиса и лояльность на новый уровень.

6100 3050 руб.

07.04.2014    97877    88    205    

171

SALE! 50%

Взаиморасчеты SMS рассылки Email рассылки Создание на основании Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение Директ Маркетинг для 1С:Бухгалтерия с триггерами и роботами для автоматического создания документов, полным набором инструментов для качественных транзакционных, триггерных и маркетинговых рассылок Email, SMS, MAX, WhatsApp, Telegram.

6100 3050 руб.

15.04.2025    4927    23    15    

23

Взаиморасчеты Email рассылки Акт сверки Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Внешняя обработка для Бухгалтерии 3.0 - позволяет автоматически формировать документы «Акт сверки расчетов» с контрагентами за выбранный период с последующей фоновой отправкой на почту контрагента.

5084 руб.

25.11.2020    30882    337    20    

290

Взаиморасчеты Email рассылки Акт сверки Бухгалтер Пользователь 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Создать и отправить 1000 Актов серки контрагентам за 5 мин?! Легко! Разработано для конфигурации 1C:УНФ. Массовое создание и рассылка Актов сверки в три клика.

6100 руб.

13.01.2022    14316    24    13    

30

Email рассылки Программист Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Документооборот Платные (руб)

Решение для массовой рассылки печатных форм (в том числе и дополнительных) любых документов, расчетных листков и произвольных файлов. Рассылка возможна посредством электронной почты, МАХ, Telegram, WhatsApp, FTP и файловой системы. Рассылка пакета документов. Добавление факсимильных печати и подписи. Произвольные шаблоны HTML/Simple text с автозаполнением любыми полями документа. Гибкая фильтрация получателей. Любые форматы файлов. Упаковка вложений в архив. Транслитерация имен файлов. Разбиение рассылки на произвольные порции. Обход спам-фильтров. Журналирование рассылок.

6100 руб.

30.06.2022    17351    100    108    

57

Email рассылки Кадровый учет Бухгалтер 1С:Предприятие 8 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет Платные (руб)

Устали вручную отслеживать, кто и когда уходит в отпуск, и постоянно напоминать руководителям и сотрудникам, вручную формировать и рассылать поздравления сотрудникам? С помощью обработки «Автоматическая рассылка уведомлений о скором начале отпуска, остатке отпусков и поздравлений с днем рождения для 1С: ЗУП 3.1» вы сможете централизованно, точно и своевременно информировать всех участников кадрового процесса.

6100 руб.

17.12.2025    971    2    2    

2

Взаиморасчеты Email рассылки Акт сверки Бухгалтер 1С:Предприятие 8 1С:Управление торговлей 10 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Обработки предназначены для массового создания актов сверки и отправки их по электронной почте для конфигураций Управление торговлей 10.3. и Бухгалтерия предприятия 3.0. Для Бухгалтерии 3.0 Проверялась на релизе 3.0.199.13 Для Управление торговлей 10.3 Разработка велась на 1С:Предприятие 8.3 релиз конфигурации (10.3.61.2) . РАБОТАЕТ НА БАЗОВЫХ и ПРОФ. ВЕРСИЯХ.

5100 руб.

24.04.2020    35702    135    66    

112
Для отправки сообщения требуется регистрация/авторизация