Имя: Пароль:
1C
 
Отправка почты через CDO
0 mzelensky
 
22.09.15
20:20
Доброго всем!
Отправляю письмо всем известным скриптом:

loConfig         = Новый COMОбъект("CDO.Configuration");
        loCdoMessage     = Новый COMОбъект("CDO.Message");
        loCdoMessage.Configuration = loConfig;
        loCdoMessage.From    = Строка("Отправитель"""" <"+Оправитель+">");    
        loCdoMessage.To      = Получатель;
        loCdoMessage.Subject = ТемаСообщения;
        
        HTMLBody = "<html>
        |<head>
        |<meta content=""text/html; charset=Windows-1251"" http-equiv=""content-type"">
        |<title> Электронное сообщение </title>
        |</head>
        |<body>
        |<h4>" + СокрЛП(СтрЗаменить(СообщениеТекст, Символы.ПС,"<br>")) + "</h4>
        |<p></p>
        |</body>
        |</html>";
        loCdoMessage.BodyPart.Charset = "windows-1251"; // это если делать без извратов с оформлением текста письма
        loCdoMessage.HTMLBody = HTMLBody;
        
        Если ТипЗнч(СписокВложений) = Тип("Строка") И Не СписокВложений = "" Тогда
            Попытка
                loCdoMessage.AddAttachment(СписокВложений);
            Исключение
            КонецПопытки;
        ИначеЕсли ТипЗнч(СписокВложений) = Тип("СписокЗначений") Тогда
            Для каждого ПутьКВложению Из СписокВложений Цикл
                Попытка
                    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 = Оправитель;
        loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword";).         Value = Пароль;
        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();
            
            Результат = Истина;
        Исключение
            #Если Клиент Тогда
                Сообщить(ОписаниеОшибки());
            #КонецЕсли
            
            Результат = Ложь;
        КонецПопытки;

И тут начинаются чудеса. Имеется 3 разных почтовых ящика с которых могут отправлять письма:

1) [email protected]
2) [email protected]

и

3) [email protected]

С первых двух письма уходят без проблем, а вот с третьего возникает ошибка при отправке:

Ошибка при вызове метода контекста (Send): Произошла исключительная ситуация: Не удалось отправить сообщение на SMTP-сервер. Код ошибки транспорта: 0x80040217. Отклик сервера: not available

И больше всего меня смущает тот факт, что 2 и 3 ящики находятся на gmail.com и соответственно имеют совершенно одинаковые настройки (отличаются только логин и пароль..которые я уже раз 10 проверил). Вот только со второго все уходит ,а третий дает ошибку!

Что это может быть? Куда капать? В инете капался...решения найдено не было :(
1 фобка
 
22.09.15
20:29
Имя ящика может смущает
2 Сияющий в темноте
 
22.09.15
21:45
кодировка и спецсимволы творят чудеса герпботоспособности
3 mzelensky
 
22.09.15
22:02
(1)(2) Так наоборот в этом цифры одни "[email protected]" никаких лишних символов
4 Jaap Vduul
 
22.09.15
23:09
5 Смотрящий
 
22.09.15
23:25
(0) Третий ящик походу сервак забанил как спам рассыльщика. В ручную с него письмо уходит ?
6 mzelensky
 
23.09.15
07:23
(5) В ручную уходят
7 mzelensky
 
23.09.15
07:32
(4) УРА, ТОВАРИЩИ! Помогло! Огромное спасибо. Вот она - сила ГАЛОЧКИ!
Программист всегда исправляет последнюю ошибку.