|
Проблема с отправкой почты | ☑ | ||
---|---|---|---|---|
0
YgrekXYZ_
07.11.16
✎
07:45
|
Подскажите плиз, что не так.
Есть нечто, отправляющее почту. Захожу на сервер, где стоит сервер приложений. Запускаю "&НаКлиенте" работает. Запускаю "&НаСервере" не работает. Пишет проблема авторизации. &НаСервере Функция ОтправитьПисьмо() //Создание объектов Попытка loConfig = Новый COMОбъект("CDO.Configuration"); loCdoMessage = Новый COMОбъект("CDO.Message"); Исключение Сообщить(ОписаниеОшибки()); Возврат Ложь; КонецПопытки; //Адрес получателя loCdoMessage.To = "************"; loCdoMessage.From = "************"; loCdoMessage.Subject = "Тема"; loCdoMessage.BodyPart.CharSet = "Windows-1251"; loCdoMessage.Textbody = "Текст сообщения1111"; //Параметры сообщения loCdoMessage.Configuration = loConfig; //Адрес SMTP-Сервера loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value = "************"; //Порт SMTP-сервера loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport").Value = 25; //Имя пользвоателя SMTP-сервера loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername").Value = "************"; //Пароль пользвоателя SMTP-сервера loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword").Value = "************"; //Способ передачи сообщения: // 1 - Отправить сообщение с помощью локального каталога SMTP-службы // 2 - Отправить сообщение через сеть (по протоколу SMTP по сети). loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing").Value = 2; //Проверка подлинности: // 0 - Без аутентифиации // 1 - Использовать базовую (открытым текстом) проверку подлинности. // 2 - Использовать проверку подлинности ntlm loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value = 2; //Использование протокола SSL // 0 - Не использовать // 1 - Использовать loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl").Value = 0; //?(УчетнаяЗаписьЭП.ИспользоватьSSL,1,0); //Число секунд ожидания для службы SMTP loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout").Value = 60; //Обновляем настройки loConfig.Fields.Update(); //Отправка сообщения Попытка loCdoMessage.Send(); Возврат "Ok"; Исключение Сообщить(ОписаниеОшибки()); Возврат ОписаниеОшибки(); КонецПопытки; КонецФункции |
|||
1
wormselfish
07.11.16
✎
07:58
|
А если клиент 1с предприятие запустить на машине где сервер, и запустить "&НаКлиенте", то тоже не работает?
|
|||
2
Mauser
07.11.16
✎
08:07
|
Все проблемы от
loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value = 2; |
|||
3
YgrekXYZ_
07.11.16
✎
08:09
|
1. Если запускать, где сервер пашет "&НаКлиенте", не пашет на "&НаСервере"
2. Что не так ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value = 2; А что должно быть? |
|||
4
anatoly
07.11.16
✎
08:10
|
(0) зачем вы все СОМ-объекты используете, когда есть ИнтернетПочта???
(2) была та же проблема у одного клиента где тоже использовали CDO.Message (из какой то древнеющей версии перетащили) решилась переходом на ИнтернетПочта. |
|||
5
YgrekXYZ_
07.11.16
✎
08:24
|
0)зачем вы все СОМ-объекты используете
Захотелось :) Это не тема для обсуждения. 4) решилась переходом на ИнтернетПочта. Будут такие же проблемы с авторизацией и с 1С-объектами. |
|||
6
Mauser
07.11.16
✎
08:42
|
(5) При использовании и не понимании ntlm авторизации - несомненно. Удачи и семь футов под килем
|
|||
7
YgrekXYZ_
07.11.16
✎
08:44
|
6) почему на клиенте отрабатывает?
|
|||
8
YgrekXYZ_
07.11.16
✎
08:46
|
зайдем с другой стороны, тоже проблемы с аутентификацией:
ПочтПрофиль=Новый ИнтернетПочтовыйПрофиль(); ПочтПрофиль.АдресСервераPOP3 = "10.78.2.26"; ПочтПрофиль.АдресСервераSMTP = "10.78.2.26"; ПочтПрофиль.Пользователь="*****************"; ПочтПрофиль.Пароль = "*****************"; ПочтПрофиль.АутентификацияSMTP = СпособSMTPАутентификации.Login; ПочтПрофиль.ПользовательSMTP = "*****************";; ПочтПрофиль.ПарольSMTP = "*****************";; ПочтПрофиль.ВремяОжидания=60; ПочтПрофиль.ПортPOP3=110; ПочтПрофиль.ПортSMTP=25; ПочтЗаяв= Новый ИнтернетПочта(); ПочтСообщение = Новый ИнтернетПочтовоеСообщение(); ПочтСообщение.Кодировка="windows-1251"; ПочтСообщение.Тема=СокрЛП("Тема"); ПочтСообщение.Тексты.Добавить("Тело",ТипТекстаПочтовогоСообщения.HTML); ПочтСообщение.Получатели.Добавить("[email protected]"); ПочтСообщение.Отправитель.Адрес=СокрЛП("[email protected]"); ПочтСообщение.Отправитель.ОтображаемоеИмя=СокрЛП("[email protected]"); РезультатПосылки = Новый Структура; РезультатПосылки.Вставить("СтатусОтправки",Истина); РезультатПосылки.Вставить("Примечание","Сообщение успешно отправлено"); Результат=Ложь; ОписаниеОшибки=""; Попытка ПочтЗаяв.Подключиться(ПочтПрофиль); Попытка ПочтЗаяв.Послать(ПочтСообщение); РезультатПосылки = Новый Структура; РезультатПосылки.Вставить("СтатусОтправки",Истина); РезультатПосылки.Вставить("Примечание","Сообщение успешно отправлено"); Исключение ОписаниеОшибки=ОписаниеОшибки(); РезультатПосылки = Новый Структура; РезультатПосылки.Вставить("СтатусОтправки",Истина); РезультатПосылки.Вставить("Примечание",ОписаниеОшибки); КонецПопытки; ПочтЗаяв.Отключиться(); //Возврат РезультатПосылки; Исключение ОписаниеОшибки=ОписаниеОшибки(); РезультатПосылки = Новый Структура; РезультатПосылки.Вставить("СтатусОтправки",Истина); РезультатПосылки.Вставить("Примечание",ОписаниеОшибки); //Возврат РезультатПосылки; КонецПопытки; |
|||
9
YgrekXYZ_
07.11.16
✎
08:49
|
Способы аутентификации все перепробовал.
Для логина ошибка так выглядит: Ошибка при вызове метода контекста (Подключиться): Параметр команды не реализован (SMTP error code 504, 5.7.4 Unrecognized authentication type) для прочих типа по умолчанию Сервер требует аутентификации (SMTP error code 530, 5.7.1 Client was not authenticated) |
|||
10
Забияка
07.11.16
✎
09:14
|
+(9)Добавлю и свои 5 копеек.. Что странно, так это то, что в файловой версии работает, а в клиент-серверной выдает теже ошибки..
|
|||
11
YgrekXYZ_
07.11.16
✎
09:44
|
(6) захожу телнетом.
набираю ehlo - показывает поддержку ntlm |
|||
12
YgrekXYZ_
07.11.16
✎
09:50
|
если заработает 1С-объекты, то буду только рад.
код работал/работал на старом почтовике. на новом пошли проблемы с авторизацией. специально привел код от CDO.Message, чтобы было понятно при каких параметрах происходит нормальная посылка почты. |
|||
13
DrZombi
гуру
07.11.16
✎
10:00
|
(0) На сервере нет почты
Нет права на почту и т.д. |
|||
14
DrZombi
гуру
07.11.16
✎
10:01
|
(12) Вы сервер с ПК не путаете?
Понятия разделяете? :) Что у вас подразумевается под словом "НаСервере"? )) |
|||
15
DrZombi
гуру
07.11.16
✎
10:02
|
(10) Еще один :)
Лови v8: Чем отличается &НаСервереБезКонтекста от &НаСервере |
|||
16
DrZombi
гуру
07.11.16
✎
10:03
|
Во тут разжевано
Директивы выполнения кода в управляемых формах 1С 8 http://programmist1s.ru/direktivyi-vyipolneniya-koda1s-v-upravlyaemyih-formah/ |
|||
17
Забияка
07.11.16
✎
10:15
|
(15)А каким образом это связано с авторизацией на почтовом сервере?
|
|||
18
YgrekXYZ_
07.11.16
✎
10:18
|
(13) Что значит нет права на почту и т.д.
простое подключение телнетом проходит на ура. как проверить права и т.д? Этот же код нормально работал со старым почтовиком. По идее запускался джоб в регламентированных задачах. Вытащил код на форму, когда стал ковыряться в проблеме. |
|||
19
anatoly
07.11.16
✎
10:32
|
(5) "Будут такие же проблемы с авторизацией и с 1С-объектами."
я же внятно написал - таким способом проблема решилась. (18) подключение телнетом по смтп?? )) из любого обычного клиента _с_сервера_ почта отправляется? (13) +100 |
|||
20
YgrekXYZ_
07.11.16
✎
11:27
|
(19) Речь идет про 1с код в (8). В (0) по сути была попытка показать с какими параметрами уходит принципиально почта.
в (18) речь зашла про "права и т.д." поэтому и написал, что подключение телнетом проходит. По идее, можно из телнета послать почту, но это нам ничего не даст. Про смтп ни слова не было. С этого сервака сообщения каждое утро отсылаются через другой почтовик кодом в (8). Понятно, что логины/пароли/адреса другие. То есть не в коде дело. Понятно, что-то с какими-то правами настройками дело. Вопрос с какими. Про обычный клиент-аутлук: сейчас попробую поймать админов, поставить клиент. Повторюсь на другой почтовик с этого же сервера без проблем уходит. Может правда нечто и перекрыто. |
|||
21
YgrekXYZ_
07.11.16
✎
13:29
|
Н-да, действительно в оутлуке проблема с отправкой на новый почтовик ....
|
|||
22
anatoly
07.11.16
✎
14:34
|
(20) я с удаленного компа пингую и подключаюсь по ssh на сервер (не 1С) где стоит почта - но на СМТП он никого извне не пускает, только из внутренней сети РДП. продолжать?...
(21) попробуй уже ИнтернетПочта. не долго же. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |