|
Отправка Email из 1С | ☑ | ||
---|---|---|---|---|
0
Shmidt
02.03.16
✎
15:30
|
Народ посмотрите, подскажите сломал всю голову. Конфигруация Отель 8.2.2.44, платформа 8.3.6.2152. Вот код:
vEMail = New InternetMailMessage(); // Addresses and names vEMail.SenderName = vCurEmployee.GetObject().pmGetEmployeeDescription(SessionParameters.CurrentLanguage); If Not IsBlankString(vCurEmployee.EMail) Then vEMail.From = TrimAll(vCurEmployee.EMail); EndIf; If Not IsBlankString(vCurEmployee.ReplyToEMail) Then vEMailsList = cmParseEMailAddress(TrimAll(vCurEmployee.ReplyToEMail)); For Each vEMailItem In vEMailsList Do vEMail.ReplyTo.Add(vEMailItem.Value); EndDo; EndIf; // Add to address //ClientEMail = New InternetMailAddress; //ClientEMail.Address = (TrimAll(Guest.EMail)); vEMailsList = cmParseEMailAddress(TrimAll(Guest.EMail)); //vEMailsList = Guest.EMail; For Each vEMailItem In vEMailsList Do //Address = Guest.EMail; //vEMail.Получатели.Добавить(Address); ; vEMail.To.Add(vEMailItem.Value); //vEmail. //vEMail.To.Add(ClientEMail); EndDo; // Add Bcc address If Not IsBlankString(vCurEmployee.BccEMail) Then vEMailsList = cmParseEMailAddress(vCurEmployee.BccEMail); For Each vEMailItem In vEMailsList Do vEMail.Bcc.Add(vEMailItem.Value); EndDo; EndIf; // Add message subject and text vEMail.Subject = "Уведомление об оформлении брони."; vEMail.Texts.Add(TrimAll(Guest.FirstName) + " " + TrimAll(Guest.SecondName) + ", парк-клуб Дубровский уведомляет Вас, о том, что на Ваше имя оформлена бронь № " + GuestGroup.Code + " на дату " + Format(CheckInDate,"DF=dd.MM.yyyy"), InternetMailTextType.HTML); vEMail.ProcessTexts(); //vEMail.Subject = TrimAll(pNotificationRow.Remarks); //If Find(Lower(TrimAll(pNotificationRow.DocumentText)), "<html") = 0 Then // vEMail.Texts.Add(TrimAll(pNotificationRow.DocumentText)); //Else // vEMail.Texts.Add(TrimAll(pNotificationRow.DocumentText), InternetMailTextType.HTML); // vEMail.ProcessTexts(); //EndIf; // Add file as attachement //If Not IsBlankString(pNotificationRow.FileName) Then // // Save file to the temp directory // vFileName = cmGetValidFileName(pNotificationRow.FileName); // vFullFileName = TempFilesDir() + vFileName; // vBinary = pNotificationRow.ExtFile.Get(); // vBinary.Write(vFullFileName); // vEMail.Attachments.Add(vFullFileName, vFileName); //EndIf; // Create profile to use for connection vProfile = New InternetMailProfile(); vProfile.POP3BeforeSMTP = vCurEmployee.InternetMailPOP3BeforeSMTP; If vProfile.POP3BeforeSMTP Then vProfile.POP3ServerAddress = vCurEmployee.InternetMailPOP3ServerAddress; vProfile.POP3Port = vCurEmployee.InternetMailPOP3Port; vProfile.POP3Authentication = cmGetPOP3Authentication(vCurEmployee.InternetMailPOP3Authentication); vProfile.User = vCurEmployee.InternetMailUser; vProfile.Password = vCurEmployee.InternetMailPassword; EndIf; vProfile.SMTPServerAddress = vCurEmployee.InternetMailSMTPServerAddress; vProfile.SMTPPort = vCurEmployee.InternetMailSMTPPort; vProfile.SMTPAuthentication = cmGetSMTPAuthentication(vCurEmployee.InternetMailSMTPAuthentication); vProfile.SMTPUser = vCurEmployee.InternetMailSMTPUser; vProfile.SMTPPassword = vCurEmployee.InternetMailSMTPPassword; vProfile.Timeout = vCurEmployee.InternetMailTimeout; //vProfile.SMTPUseSSL = True; //vProfile.POP3UseSSL = True; // Create connection to the mail server vInternetMail = New InternetMail; vInternetMail.Logon(vProfile); vInternetMail.Send(vEMail); vInternetMail.Logoff(); EndIf; Падает в этом месте vInternetMail.Send(vEMail), пишет ошибку: Неизвестная ошибка (SMTP error code 503) |
|||
1
Shmidt
02.03.16
✎
15:33
|
Всю голову сломал на этом, а из-за этой ошибки не работает целая подсистема
|
|||
2
Garykom
гуру
02.03.16
✎
15:36
|
К нам на работу однажды устраивался на должность программиста 1С один дельфист
Сказал что писал уже под 1С 7.7 У меня первый вопрос был: "а код по русски или на английском писали?" После ответа: "на английском" все было понятно )) |
|||
3
Amra
02.03.16
✎
15:37
|
Авторизацию для почтового ящика отправителя кто будет устанавливать?
|
|||
4
Shmidt
02.03.16
✎
15:38
|
Ну это не мое поделие. Гостиничные технологии данную конфу разрабатывали
|
|||
5
Shmidt
02.03.16
✎
15:39
|
(3) Уточните пожалуйста?
|
|||
6
Fragster
гуру
02.03.16
✎
15:50
|
есть мнение, что если конфигурация на БСП, то правильнее создать документ ЭлектронноеПисьмоИсходящее и дождаться его отправки регламентным заданием
|
|||
7
Shmidt
02.03.16
✎
15:55
|
(3) vInternetMail.Logon(vProfile);
|
|||
8
Shmidt
02.03.16
✎
15:56
|
(6) Дело в том, что на предыдущем релизе все отрабатывало нормально
|
|||
9
AceVi
02.03.16
✎
16:00
|
Это может быть что угодно. Например порт smtp забит не верно. надо смотреть настройки подключения и настройки почтового сервера куда подключаешься.
|
|||
10
Shmidt
02.03.16
✎
16:04
|
(9) Так авторизация проходит нормально, падает на отправке.
Просто до обеда валилось все на авторизации, поэтому все настройки сделал и перепроверил несколько раз. |
|||
11
f_vadim
02.03.16
✎
16:04
|
а ничо так, если then и endif заменить на { и } код будет выглядеть прям по-взрослому :)
|
|||
12
Shmidt
02.03.16
✎
16:13
|
(11) Код не мой. Вообще мне эта дурацкая конфа на поддержку недавно попала и сплошные проблемы с ней
|
|||
13
Shmidt
02.03.16
✎
16:13
|
(11) Где конкретно?
|
|||
14
Shmidt
02.03.16
✎
16:15
|
(11) If vProfile.POP3BeforeSMTP Then
vProfile.POP3ServerAddress = vCurEmployee.InternetMailPOP3ServerAddress; vProfile.POP3Port = vCurEmployee.InternetMailPOP3Port; vProfile.POP3Authentication = cmGetPOP3Authentication(vCurEmployee.InternetMailPOP3Authentication); vProfile.User = vCurEmployee.InternetMailUser; vProfile.Password = vCurEmployee.InternetMailPassword; EndIf; В этом месте? |
|||
15
Fragster
гуру
02.03.16
✎
16:16
|
(8) значит надо посмотреть, что изменилось в этом месте кода, что изменилось в режиме совместимости конфигурации (по сравнению с предыдущим релизом). Анализировать.
|
|||
16
f_vadim
02.03.16
✎
16:17
|
(12) моё замечание не имеет отношения к решаемой проблеме
|
|||
17
Shmidt
02.03.16
✎
16:19
|
(15) Этот кусок кода дописан другим программистом и я его благополучно перенес в новый релиз. Настройки все поменял
|
|||
18
drcrasher
02.03.16
✎
16:19
|
||||
19
Shmidt
02.03.16
✎
16:19
|
(16) Да я понял. До наведения красоты далеко еще. Для начала хочу, чтобы в принципе все работало, хоть как-то (((
|
|||
20
Shmidt
02.03.16
✎
16:20
|
(18) 1 письмо отправляется
|
|||
21
Shmidt
02.03.16
✎
16:23
|
Еще вопрос, посмотрел отладчиком... Отправлитель при инициализации добавляется, т.е. поле From - разворачивается и видно адрес и т.д., а поле То - нет. Но правой кнопокой открывается и показывает присвоенный адрес
|
|||
22
Shmidt
02.03.16
✎
16:24
|
Посмотрел СП From - строка, То - ИнтернетПочтовыйАдрес, а передаем туда строку, нормально это?
|
|||
23
Лефмихалыч
02.03.16
✎
16:33
|
Думаю, дело в тех значениях, которые вот сюда складываются:
vProfile.SMTPServerAddress, vProfile.SMTPPort, vProfile.SMTPAuthentication тухлые значения какие-то |
|||
24
Shmidt
02.03.16
✎
16:45
|
(23) Это настройки задаются у пользователя под которым выполняется данный код
|
|||
25
Shmidt
02.03.16
✎
16:46
|
SMTPServerAddress - ip компа, на котором развернута база
SMTPPort - 25 SMTPAuthentication - По умолчанию |
|||
26
Shmidt
02.03.16
✎
16:48
|
На компе стоит S tunel, которая ловит письма на 25 порту и переправляет на SMTP и POP3 порты Яндекса с поддержкой SSL
|
|||
27
Лефмихалыч
02.03.16
✎
16:56
|
(26) а ты без туннеля пробовал?
|
|||
28
Лефмихалыч
02.03.16
✎
16:58
|
503 означает, что до смтп ты дошел и успешно ему что-то передал, но он тебя не понял.
Либо параметры аутентификации не те, либо с шифрованием напутлякал |
|||
29
f_vadim
02.03.16
✎
17:05
|
предположу, что stunnel криво работает.
или 1с лезет мимо него без ssl к почтовику. |
|||
30
f_vadim
02.03.16
✎
17:08
|
stunnel не письма ловит.
кстати, можно без него попробовать - раскомментировать vProfile.SMTPUseSSL = True; и прописать адреса и порты яндекса. вроде допиливали платформу, чтоб без костылей работало. |
|||
31
Shmidt
02.03.16
✎
17:13
|
(30) Пробовал, вообще все виснет и даже в ошибку не выпадает
|
|||
32
f_vadim
02.03.16
✎
17:18
|
а stunnel в логах что-нибудь пишет?
|
|||
33
Shmidt
02.03.16
✎
17:23
|
(32) Неть. Только что попробовал на другой платформе 8.2 все взлетело
|
|||
34
Shmidt
02.03.16
✎
17:23
|
Проблема в платформе
|
|||
35
Shmidt
02.03.16
✎
17:24
|
Причем проблема серьезная, т.к. текущий релиз только с 8.3.6 работатет ((((
|
|||
36
Fragster
гуру
02.03.16
✎
17:25
|
ну так ты посмотри примечания к релизу. например новое поведение использованных объектов
|
|||
37
Shmidt
02.03.16
✎
17:29
|
(36) Ну да так и сделаю. 5 вариантов еще. Есть надежда, что взлетит )))
|
|||
38
Fragster
гуру
02.03.16
✎
17:29
|
к релизу платформы
|
|||
39
Shmidt
02.03.16
✎
17:29
|
Но сама конфа - для врагов!!!!
|
|||
40
Shmidt
02.03.16
✎
17:30
|
Данные так хранятся, что отчет не соберешь ((( Есть моменты, что вместо РС используются справочники
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |