Stunnel, Яндекс, 1С

1. Beginner_107 18.01.18 10:25 Сейчас в теме
Здравствуйте!
есть задача на УПП платформы 8.2.19.80 настроить почтовый клиент на ящик Яндекс, причем обязательно по imap. Насколько я нарыла в Инете, этой версией платформы imap не поддерживается, поэтому решила установить stunnel. В конф-файле прописала:

[yandex-pop3]
client = yes
accept = 127.0.0.1:110
connect = pop.yandex.ru:995
verify = 2
CAfile = ca-certs.pem
checkHost = pop.yandex.ru
OCSPaia = no

[yandex-imap]
client = yes
accept = 127.0.0.1:143
connect = imap.yandex.ru:993
verify = 1
CAfile = peer-yandex-imap.pem
VerifyPeer = yes
checkHost = imap.yandex.ru
OCSPaia = no

[yandex-smtp]
client = yes
accept = 127.0.0.1:25
connect = smtp.yandex.ru:465
verify = 2
CAfile = ca-certs.pem
checkHost = smtp.yandex.ru
OCSPaia = yes

(Для imap отдельный сертификат прям в программе сделала, без него выдавал заковыристую ошибку). Сейчас, если в настройках почты устанавливаю 110 (рор-сервер) - все отлично. Если 143 (imap -сервер) выдает - POP3 connection broken in reply. Кому-нибудь удалось "подружить" Яндекс и 1с8.2 через Stunnel??? Ну или как-нибудь еще?
+
По теме из базы знаний
Найденные решения
2. DenisCh 18.01.18 10:36 Сейчас в теме
Если ты по поп3 пытаешься соединиться на имап - разумеется, будет ошибка.

У меня такое
				ИнтернетПочтаIMAP = Новый ИнтернетПочта;
				
				Попытка
					ИнтернетПочтаIMAP.Подключиться(Профиль,ПротоколИнтернетПочты.IMAP);
				Исключение


работает.
Да, 8.2.19.83, стуннель, яндекс.
+
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. DenisCh 18.01.18 10:36 Сейчас в теме
Если ты по поп3 пытаешься соединиться на имап - разумеется, будет ошибка.

У меня такое
				ИнтернетПочтаIMAP = Новый ИнтернетПочта;
				
				Попытка
					ИнтернетПочтаIMAP.Подключиться(Профиль,ПротоколИнтернетПочты.IMAP);
				Исключение


работает.
Да, 8.2.19.83, стуннель, яндекс.
+
3. Beginner_107 18.01.18 10:37 Сейчас в теме
(2) а это где конкретно прописать надо?
+
7. DenisCh 18.01.18 11:22 Сейчас в теме
(3) у меня это в УправлениеЭлектроннойПочтой.ПолучениеОтправкаПисем()
Но у меня несколько особая конфигурация
+
4. Beginner_107 18.01.18 10:56 Сейчас в теме
(2) Если я правильно нарыла, это в общем модуле УправлениеЭлектронноеПочтой, там функция такая ПолучениеОтправкаПисем. То есть, без правки конфы никак?
+
8. DenisCh 18.01.18 11:23 Сейчас в теме
(4) по протоколу поп3 в имапу подключиться нельзя.
+
6. Beginner_107 18.01.18 11:22 Сейчас в теме
(2) Ура, заработала!
+
5. yaroslav.artem 18.01.18 11:02 Сейчас в теме
Ой не мучайтесь, это пипец полный.Я пробовал через stunnel, как то давно..через раз работало, в итоге к такому решению пришёл, которое в разы проще, как по мне...:



loConfig         = Новый COMОбъект("CDO.Configuration");
    loCdoMessage     = Новый COMОбъект("CDO.Message");
    loCdoMessage.Configuration = loConfig;
    loCdoMessage.From    = Строка(""""" <"+"wash@email.ru"+">");    //loCdoMessage.From    = "Тест 1C"""" <xxxxxxx@yandex.ru>";
	loCdoMessage.To      = "Контрагент.EMail;
	//loCdoMessage.To      = "wash@email";
    loCdoMessage.Subject = "Docs scans";
    
    HTMLBody = "<ht ml>
    |<head>
    |<met a content=""text/html; charset=Windows-1251"" http-equiv=""content-type"">
    |<title> Тестовое сообщение </title>
    |</head>
    |<body>
    |<h4>" + "Данное сообщение сформировано автоматически и не требует ответа" + "</h4>
    |<p></p>
    |</body>
    |</html>";
	
   
    loCdoMessage.HTMLBody = HTMLBody;
	Для каждого Вложение ИЗ МассивВложений Цикл 
	loCdoMessage.AddAttachment(Вложение);
	КонецЦикла;

    loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing").            Value = 2;
    loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver").           Value = "smtp.yandex.ru";
    loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport").       Value = "465";
    loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").     Value = 1;
    loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername").         Value = "wash@email.ru";
    loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword").         Value = pass;
    loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl").           Value = 1;
    loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout").Value = 60;
    loConfig.Fields.Update();  
    Попытка
        loCdoMessage.Send();
    Исключение
        Сообщить(ОписаниеОшибки());
    КонецПопытки;
Показать
phsin; Infector; +2
9. Infector 201 18.01.18 17:24 Сейчас в теме
(5) согласен, лучше вообще со встроенного клиента слезть и внешние компоненты использовать.
+
10. Beginner_107 19.01.18 09:36 Сейчас в теме
А вот еще вопрос по Stunnel. Если у меня есть локальная сеть и с каждой маштны должна отправляться почта, то Stunnel на каждую машину установить надо? Или достаточно на сервер, и в учетках эл.почты как-то к серверу обращаться?
+
11. MrCondor 26.07.18 09:51 Сейчас в теме
(10)

на сервер достаточно
указать только accept = 143 без адреса, тогда будет слушать на всех интерфейсах
и обращаться соответственно к вашему серверу не через локальный интерфейс
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот