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

20.02.12

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
EA_ARCHITECT_GETMAIL_COM
.exe 1,65Mb
66
66 Скачать (1 SM) Купить за 1 850 руб.

Долго бился с проблемой получения почту в 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С:ITIL(ИТИЛ), 1С:ITILIUM, Управление IT-отделом 8 через интернет с любого устройства посредством браузера, увеличивая эффективность работы пользователей и снижая нагрузку на сервер. Быстрая инсталляция портала за пару часов, удобный и интуитивно понятный интерфейс и безопасность данных помогут упростить работу с порталом и ускорить выполнение бизнес-процессов компании.

128000 руб.

19.12.2023    2853    3    0    

11

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

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

60000 руб.

07.05.2019    34920    68    45    

27

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

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

57600 руб.

26.11.2024    2609    2    3    

5

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

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

14400 руб.

20.12.2024    983    5    2    

7

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

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

36000 руб.

03.08.2020    19205    23    22    

20

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

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    18970    54    50    

31

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

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    4410    3    2    

4
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 407 20.02.12 13:17 Сейчас в теме
(0) Я не правильно прочитал или компонента стоит денег?
7. Intimatik 20 21.02.12 12:44 Сейчас в теме
(2) iov, жадность лечится периодической переустановкой :)

и SN можно найти на просторах интернетов
9. iov 407 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 1376 20.02.12 15:13 Сейчас в теме
не, уж лучше через туннель. по крайней мере, бесплатно
5. andrewks 1376 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 базу данных положит.
Чего еще надобно?
Оставьте свое сообщение