Отправка 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 не получается.

См. также

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

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

3000 руб.

25.11.2020    25181    263    8    

226

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

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

4920 руб.

30.06.2022    11476    75    100    

37

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

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

6000 руб.

13.01.2022    11003    8    13    

13

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

Обработка позволяет автоматически сформировать акты сверок на почту контрагентов (почта берется из контактных данных контрагента). При формировании акта сверки формируется подпись с указанием контактов для связи с бухгалтерией нашей организации (формируется исходя из контактов из карточки организации). Присутствует возможность ручного редактирования электронной почты контрагента для отправки. Отправка осуществляется с системной записи электронной почты. В случае, если у контрагента нет адреса электронной почты, эти контрагенты будут выведены в отдельной табличной части. Это очень удобно, так как сразу наглядно виден список контрагентов, которым невозможно отправить акты сверок!

7080 руб.

11.05.2021    9838    7    1    

6

Email рассылки Акт сверки Бухгалтер Платформа 1С v8.3 1С:Управление торговлей 11 Россия Платные (руб)

Помощник бухгалтера, занимающегося контролем за взаиморасчётами с клиентами, выполнен в форме внешней обработки, позволяющей упростить процесс создания и рассылки сверки взаиморасчётов клиентам.

3600 руб.

18.12.2024    280    1    0    

1
Оставьте свое сообщение