Имя: Пароль:
1C
 
Произошла ошибка при работе с IMAP, Код ошибки 11. Cannot deliver the message. Что это?
0 evorle145
 
21.08.20
16:59
1С:Комплексная автоматизация 2  (2.4.11.100)  8.3 (8.3.16.1148)
валился эта ошибка при попытке отправить письмо. Вот в этой строке:
Соединение.Послать(Письмо, ОбрабатыватьТекстСообщения, ПротоколИнтернетПочты.IMAP);

Проверку учетной записи делаю - все успешно.. что за код ошибки 11? нигде не могу найти расшифровку..
1 Asmody
 
21.08.20
17:04
IMAP вроде всегда был для получения почты.
Для отправки SMTP
2 программистище
 
21.08.20
17:06
Из википедии
Для отправки писем используется обычно протокол SMTP, так как собственная команда отправки протокола IMAP, называемая APPEND, не содержит в себе механизма передачи служебной информации
3 evorle145
 
21.08.20
17:09
(1) , (2), но вот общий модуль РаботаСПочтовымиСообщениямиСлужебный

Попытка
        
        ПараметрыОтправки.Вставить("ИдентификаторСообщения", "");
        ПараметрыОтправки.Вставить("ИдентификаторСообщенияОтправкаIMAP", "");
        
        Если (ПротоколПочты = "IMAP" Или ПротоколПочты = "Все") И ПротоколПолученияПочты = ПротоколИнтернетПочты.IMAP Тогда
            Соединение.Послать(Письмо, ОбрабатыватьТекстСообщения, ПротоколИнтернетПочты.IMAP);/////// ------ вот здесь валилится в исключение!!!!!!!!!!
            ПараметрыОтправки.Вставить("ИдентификаторСообщенияОтправкаIMAP", Письмо.ИдентификаторСообщения);
            
            ФлагиПисьма = Новый ФлагиИнтернетПочтовогоСообщения;
            ФлагиПисьма.Прочитанное = Истина;
            ФлагиПисем = Новый Соответствие;
            ФлагиПисем.Вставить(Письмо.ИдентификаторСообщения, ФлагиПисьма);
            Соединение.УстановитьФлагиСообщений(ФлагиПисем);
        КонецЕсли;
        
        Если Не ЗначениеЗаполнено(ПротоколПочты) Или ПротоколПочты = "Все" Тогда
            ОшибочныеПолучатели = Соединение.Послать(Письмо, ОбрабатыватьТекстСообщения, ПротоколИнтернетПочты.SMTP);
            ПараметрыОтправки.Вставить("ИдентификаторСообщения", Письмо.ИдентификаторСообщения);
            ПараметрыОтправки.Вставить("ОшибочныеПолучатели", ОшибочныеПолучатели);
        КонецЕсли;
    
    Исключение
        
        Если СоздаватьСоединение Тогда
            Попытка
                Соединение.Отключиться();
            Исключение
                // Обработка и журналирование исключения не требуется, т.к.
                // в вызывающий код передается исходное исключение, которое будет там обработано.
            КонецПопытки;
        КонецЕсли;
        
        ВызватьИсключение;
        
    КонецПопытки;

то есть он вообще не должен в эту ветку заходить? (общие модули и вообще вся работа с почтой - все от разработчика, программисты ничего не изменяли тут)
4 Garykom
 
гуру
21.08.20
17:17
(0) проблема авторизации
5 Garykom
 
гуру
21.08.20
17:18
(4)+ проверь сторонним клиентом по тому же imap протоколу с теми же логином/паролем/ssl
6 программистище
 
21.08.20
17:18
в настройках учетной записи "Сервер отправки" должно стоять smtp, а не imap
проверь
7 evorle145
 
21.08.20
17:27
(6) проверил там smtp.mail.ru 465
8 evorle145
 
21.08.20
17:40
у меня ПротоколПочты = "Все" и поэтому он лезет в строку  Соединение.Послать(Письмо, ОбрабатыватьТекстСообщения, ПротоколИнтернетПочты.IMAP)...
9 BeerHelpsMeWin
 
21.08.20
17:47
а на mail.ru ничего менялось последнее время?
10 evorle145
 
21.08.20
19:14
вообщем , принудительно поставил выполнение  ОшибочныеПолучатели = Соединение.Послать(Письмо, ОбрабатыватьТекстСообщения, ПротоколИнтернетПочты.SMTP);
вместо
Соединение.Послать(Письмо, ОбрабатыватьТекстСообщения, ПротоколИнтернетПочты.IMAP)
и заработало
2 + 2 = 3.9999999999999999999999999999999...