Имя: Пароль:
1C
1С v8
Отправка почты через CDO.Message
,
0 Night_Wolf
 
25.02.15
08:28
Доброго дня!

Помогите с отправкой почты через CDO. Имеется такой код:
iMsg = Новый COMОбъект("CDO.Message");     
iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing").Value = 2;        
iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value = "ИмяСервера";    
iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport").Value = 25; // Стандартный порт
iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value = 1; // 0 - Do not authenticate; 1 - basic (clear-text) authentication; 2 - NTLM
iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout").Value = 60;    
iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername").Value = "АдресПочты";    
iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword").Value = "Пароль";
iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl").Value = 0;
    
Попытка
    iMsg.Configuration.Fields.Update();
Исключение
    Сообщить(ОписаниеОшибки());
    Возврат;
КонецПопытки;
    
iMsg.DSNOptions = 2;    

СтрокаВнешнихПолучателей = "АдресПочтыПолучателя";
iMsg.To = СтрокаВнешнихПолучателей;
iMsg.From = "АдресПочты";
iMsg.Subject = "Тема письма";
iMsg.BodyPart.Charset = "windows-1251"; // Выставляем кодировку письма    
iMsg.TextBody = "Текст письма";                                           
//iMsg.addAttachment(ИмяФайла);                                           
Попытка
    iMsg.Send();
Исключение
    Сообщить(ОписаниеОшибки());
КонецПопытки;

Вываливает сообщение:
Ошибка при вызове метода контекста (Send): Произошла исключительная ситуация: Сервер отклонил адрес отправителя. Отклик сервера: 550 5.7.1 Client does not have permissions to send as this sender

Насколько я понял, это значит что к серверу с такими настройками мы подключились, но отправлять не можем?

*Если аутентификацю поменять на 0, то отправляет по внутренней сети.
** Непонятно, почему если пароль меняю, то всё равно ошибка та же самая выходит. Создаётся ощущение, что ему без разницы какие поля ему подают (имеется ввиду логин, пароль).
*** Если поставить smtpusessl = 1, то выдаёт ошибку:
Произошла исключительная ситуация (CDO.Message.1): Транспорту не удалось подключиться к серверу.

Версия 1С - 8.2. Подскажите пожалуйста куда копать? Как можно проверить сторонней программой или ещё чем параметры аутентификации на MS Exchange? Чтобы достоверно знать что именно нужно прописать.

Цель - рассылать почтовые сообщения из под пользователя сервера 1С, который доменный и имеет свою почтовую запись.
1 1Сергей
 
25.02.15
08:29
iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername").Value = "АдресПочты";

адрес должен быть типа [email protected]
2 Night_Wolf
 
25.02.15
08:31
(1) - Не совсем понял. Я ему даю свой адрес почты, который точно есть на MS Exchange - [email protected]
3 1Сергей
 
25.02.15
08:33
(2) а я не увидел этого в (0)
4 1Сергей
 
25.02.15
08:34
вот тут тоже хз чо:

iMsg.From = "АдресПочты";
5 Night_Wolf
 
25.02.15
08:36
(3) - Выяснил такую вещь: Если просто поставить аутентификацию = 1, а поля user и password не устанавливать  - то выдаёт ту же самую ошибку (Сервер отклонил адрес отправителя).
В Outlook в настройках способ подключения: Проверки подлинности с согласованием
(4) - там то же самое - мой адрес почты: [email protected]
6 Night_Wolf
 
25.02.15
08:38
(4) - Есть подозрения, что не подключается к серверу. Как можно достоверно установить параметры подключения? User, login, port
7 Night_Wolf
 
25.02.15
08:43
В MS Exchange настроена Виндовая аутентификация. CDO.Message умеет через Виндовую? Если да, подскажите как пожалуйста.
8 Night_Wolf
 
25.02.15
09:24
Вопрос решен, всем спасибо за помощь. Были ошибки в логин-пароле.
Ошибка? Это не ошибка, это системная функция.