|
Отправка почты через 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
|
Вопрос решен, всем спасибо за помощь. Были ошибки в логин-пароле.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |