Получение почты с сервера, использующего SSL

20.02.12

Интеграция - WEB-интеграция

Получаем почту с gmail, microsoft exchange server

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
EA_ARCHITECT_GETMAIL_COM
.exe 1,65Mb
66 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Долго бился с проблемой получения почту в 1С, вот мой вариант решения:

 

Все знают о богатых настройках встроенного в платформу почтового клиента .

Я столкнулся с тем что с его помощью невозможно получить почту через ssl. После плясок с бубном по создания ssl-тунеля была найдена замечательная библиотека - EmailArchitect GetMail (приаттачена к публикации)

Она не только замечательно умеет работать с ssl, но и парсит html-код , ищет по разным полям и вообще ведёт себя лучшим образом. 

 

В данном примере я постарался затронуть основные функции getmail полезные для автоматизации работы с почтой:

1.Получение писем

2.Поиск 

3.Навигация по папкам

4.Чтение заголовков

//создаём коннект

oServer = Новый COMОбъект("EAGetMailObj.MailServer");
oClient = Новый COMОбъект ("EAGetMailObj.MailClient");
oClient.LicenseCode = "TryIt";
oServer.Server = "mail.mail.ru";
oServer.User ="vova.putin";
oServer.Password = "kremlin2012";
oServer.Protocol = 1;
oServer.SSLConnection = True;
oServer.Port = 993;
Попытка
oClient.Connect(oServer);
Исключение
КонецПопытки;


//если много папок заходим только в папку входящие
for each folder in oClient.Imap4Folders do
Если folder.Name = "INBOX" then
for each Subfolder in folder.SubFolders do
Если Subfolder.Name = "Рассылки" then
folder = Subfolder;
КонецЕсли;
enddo;
Прервать;
EndIf;
enddo;

oClient.SelectFolder(folder) ;

//отбираем все письма за сегодня
МассивЧисла=ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(Формат(ТекущаяДата(), "Л=en_GB; ДЛФ=DD")," ");
Число = МассивЧисла[0]+"-"+ВРег(лев(МассивЧисла[1],3))+"-"+МассивЧисла[2];

arInfo=oClient.SearchMail("ALL ON "+Число);
КоличествоПисем=arInfo.getupperbound()+1;
i=0;
Запрос = Новый запрос;

Запрос.Текст = "ВЫБРАТЬ
| Рассылки.Строка
|ИЗ
| РегистрСведений.Рассылки КАК МК_Рассылки";
тз = запрос.Выполнить().Выгрузить();

Если КоличествоПисем тз.Колонки.Добавить("Получено");

тз.ЗаполнитьЗначения(Ложь,"Получено");

//читаем все письма из коллекции

пока i<>КоличествоПисем Цикл
info = arInfo.getvalue(i);
oMail = oClient.GetMail(info);
i=i+1;
для каждого рассылка из тз Цикл
Если Найти(oMail.Subject,СокрЛП(рассылка.строка))>0 Тогда
рассылка.получено=Истина;
Прервать;
КонецЕсли;
КонецЦикла;
КонецЦикла;

КонецЕсли;

oClient.Quit();

 

 

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

См. также

Оптовая торговля Розничная торговля WEB-интеграция 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Онлайн-заказ - это решение для автоматизации процесса оформления заказов на сайте в торговых организациях. Продукт обеспечивает легкое взаимодействие между компанией и клиентами через веб-интерфейс, интегрированный с 1С:Предприятие. Система позволяет снизить операционные расходы, повысить лояльность клиентов и оптимизировать работу отдела продаж.

57600 руб.

26.11.2024    6449    4    3    

7

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    21545    30    24    

24

SALE! 15%

WEB-интеграция Программист Бизнес-аналитик 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

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

17280 14688 руб.

20.12.2024    3768    18    2    

20

WEB-интеграция Программист Руководитель проекта 1С v8.3 1C:Бухгалтерия 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки. Основные преимущества: 1. Документация API создаётся автоматически. Удобна для программной обработки. 2. Изменить API столь же просто как настроить отчёт. Можно опубликовать существующий вариант отчёта. 3. Отчёты в API поддерживают параметры (Период, ДатаНачала и др.) 4. При создании простых методов не требуется изменять конфигурацию. 5. Поддерживается работа с планами обмена.<br/> 6. Возможно настроить отправку из 1С данных корреспондирующей системе, для случаев когда 1С сама "знает" какие данные нужно отправить. 7. После записи в 1С Ле Мурр может возвращать соответствие полученных идентификаторов созданным в 1С объектам данных.

36000 руб.

27.09.2024    8272    7    5    

9

WEB-интеграция 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Оптовая торговля, дистрибуция, логистика Россия Платные (руб)

В расширении реализован механизм интеграции между системой поставщика и Личным кабинетом СДТ. Реализован обмен заказами и реализациями (накладными), предусмотрено отслеживание статусов документов. Расширение предназначено для 1С:УТ 11.4.

35856 руб.

27.11.2024    2028    1    0    

1
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. recon 39 20.02.12 13:14 Сейчас в теме
Как я понимаю, работать полноценно с IMAP она не умеет, нет методов копирования/перемещения писем по папкам. Еще, судя по примерам, в компоненте нет нормального обработчика ошибок.Данные об ошибке при подключении в 1С как то отображаются/обрабатываются ?
А так плюс компоненте что бесплатная, но пока что все равно пользуюсь http://www.chilkatsoft.com/imap-activex.asp
6. Intimatik 20 21.02.12 12:41 Сейчас в теме
(1) recon,

c imap работает полноценно, ошибки тоже обрабатываются.

Прошу прощения если пример куцый, постарался наиболее кратко описать основной функционал которым я пользуюсь :)
2. iov 408 20.02.12 13:17 Сейчас в теме
(0) Я не правильно прочитал или компонента стоит денег?
7. Intimatik 20 21.02.12 12:44 Сейчас в теме
(2) iov, жадность лечится периодической переустановкой :)

и SN можно найти на просторах интернетов
9. iov 408 21.02.12 13:13 Сейчас в теме
(7) Жадность руководителя - да. За каждую перестановку платить человеку зп или сделку...
Закон сохранения бабла гласит - недоплата гдето - вытекает в переплату после...
10. Intimatik 20 21.02.12 15:53 Сейчас в теме
(9) iov, безусловно. к сожалению практика общепринята...
3. recon 39 20.02.12 14:13 Сейчас в теме
Сорри, касаемо бесплатной это я погорячился. Она только Free Trial :( А так chilkatsoft на разработчика даже дешевле выходит.
4. andrewks 1381 20.02.12 15:13 Сейчас в теме
не, уж лучше через туннель. по крайней мере, бесплатно
5. andrewks 1381 20.02.12 15:25 Сейчас в теме
вот здесь есть интересная инфа, может, автор найдёт там более удачное решение:
http://www.coastrd.com/smtps
8. Intimatik 20 21.02.12 12:46 Сейчас в теме
(5) andrewks, не понял что имеется ввиду. это же просто RFC

сорри, прочитал дальше. особенно понравилось описание библитечки которая там используется :

cryptlib is a very complete encryption library developed by Peter Gutmann over a number of years. cryptlib allows even inexperienced programmers to easily add SLL (and encryption) to their software. We are very lucky to have such a high quality library available as open source. cryptlib uses industry-standard X.509, S/MIME, and ssh/SSL/TLS data formats, the resulting encrypted or signed data can be easily transported to other systems and processed there, and cryptlib itself runs on any commonly-user operating system. Multi-threaded cryptlib Operation cryptlib is re-entrant and completely thread-safe.
11. serega3333 21.02.12 15:55 Сейчас в теме
хорошая тема, как раз многие гуглом пользуются у клиента, можно кстати докрутить и сделать чтобы файлы хранились на гугле
12. rus128 2 22.02.12 11:35 Сейчас в теме
Не понял строку Если КоличествоПисем тз.Колонки.Добавить("Получено"); - Тогда уже не обязательно?
13. haous 2 03.10.12 15:55 Сейчас в теме
А для УТП для Украины 8.2 подойдет данная обработка?
14. ptr 3 03.10.12 16:10 Сейчас в теме
А можно сделать иначе.
Есть fetchmail, который умеет забирать почту у кого угодно и как угодно.
Есть exim, который эту почту умеет обрабатывать и посылать.
Для совсем ленивых, есть еще dbmail, который эту почту еще и в SQL базу данных положит.
Чего еще надобно?
Для отправки сообщения требуется регистрация/авторизация