Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 CDO Mail Gmail  [new]
Valerii
Member

Откуда:
Сообщений: 705
Парни привет,
Столкнулся с проблемой:
Есть прилоожение, в ней есть отсылка сообщений на gmail почту.

Procedure SendMail
PARAMETERS pText, UserName
iMsg = CreateObject('CDO.message')
iConf = CreateObject("CDO.Configuration")
iConf.Load(-1)

flds = iConf.Fields
With flds
.Item([http://schemas.microsoft.com/cdo/configuration/sendusing]) = 2 &&‘NTLM method
.Item([http://schemas.microsoft.com/cdo/configuration/smtpserver]) = [smtp.gmail.com]
.Item([http://schemas.microsoft.com/cdo/configuration/smptserverport]) = 465
.Item([http://schemas.microsoft.com/cdo/configuration/smtpauthenticate]) = 1
.Item([http://schemas.microsoft.com/cdo/configuration/smtpusessl]) = .T.
.Item([http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout]) = 60
.Item([http://schemas.microsoft.com/cdo/configuration/sendusing]) = 2
.Item([http://schemas.microsoft.com/cdo/configuration/sendusername]) = [xxxxxxx_somegoogleaccount@gmail.com]
.Item([http://schemas.microsoft.com/cdo/configuration/sendpassword]) = [SomeAccountPassword]
.Update
EndWith



With iMsg
.Configuration = iConf
.To = ALLTRIM(EmailAddress)
.From = [terravasabi@gmail.com]
.Subject = [Order cancellation: ]+ UserName
.HTMLBody = pText
.Send
EndWith
RELEASE iMsg
RELEASE iConf

На машинке под windows 7 почта ходит без проблем. С машинки под windows 10 вываливается ошибка:
cdo.message.1 the transport failed to connect to the server.

ПОрты на машиинке открыты 465 и 587
telenet резолвит соединение без проблем.

Перепробовал и порт вместо 465 на 587 - та же ошибка - cdo.message.1 the transport failed to connect to the server.

Менял
.Item([http://schemas.microsoft.com/cdo/configuration/sendusing]) = 2 на 1
Ругается на какую-то директорию.
Выключил полностью файерволы, добавил порты в правила брэндмауэра. Ничего не помогает.
Может кто-то сталкивался или знает в чем проблема?
Всем спасибо
5 дек 18, 12:54    [21754252]     Ответить | Цитировать Сообщить модератору
 Re: CDO Mail Gmail  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1401
Valerii,

iMsg = CreateObject('CDO.message')
iMsg.Configuration = CreateObject("CDO.Configuration")
iMsg.Configuration.Load(-1)
iMsg.Configuration.Fields

Разница понятна?
5 дек 18, 14:00    [21754346]     Ответить | Цитировать Сообщить модератору
 Re: CDO Mail Gmail  [new]
Valerii
Member

Откуда:
Сообщений: 705
Sergey Sizov
Valerii,

iMsg = CreateObject('CDO.message')
iMsg.Configuration = CreateObject("CDO.Configuration")
iMsg.Configuration.Load(-1)
iMsg.Configuration.Fields

Разница понятна?


нет. не очень.
5 дек 18, 14:06    [21754358]     Ответить | Цитировать Сообщить модератору
 Re: CDO Mail Gmail  [new]
Valerii
Member

Откуда:
Сообщений: 705
Sergey Sizov
Valerii,

iMsg = CreateObject('CDO.message')
iMsg.Configuration = CreateObject("CDO.Configuration")
iMsg.Configuration.Load(-1)
iMsg.Configuration.Fields

Разница понятна?

Я изменил на
iMsg.Configuration.Load(-1)
результат тот же. Под 7 все работает без нареканий
на 10 вылетает ошибка 1429 ....
Error Nr: 1429
Error Msg: OLE IDispatch exception code 0 from CDO.Message.1: The transport failed to connect to the server.
5 дек 18, 14:10    [21754366]     Ответить | Цитировать Сообщить модератору
 Re: CDO Mail Gmail  [new]
Valerii
Member

Откуда:
Сообщений: 705
Sergey Sizov
Valerii,

iMsg = CreateObject('CDO.message')
iMsg.Configuration = CreateObject("CDO.Configuration")
iMsg.Configuration.Load(-1)
iMsg.Configuration.Fields

Разница понятна?


Изменил код согласно твоей логики:
iMsg = CreateObject('CDO.message')
*iConf = CreateObject("CDO.Configuration")
*iConf.Load(-1)
*flds = iConf.Fields

iMsg.Configuration = CreateObject("CDO.Configuration")
iMsg.Configuration.Load(-1)
flds = iMsg.Configuration.Fields

With flds
.Item([http://schemas.microsoft.com/cdo/configuration/sendusing]) = 2 &&‘NTLM method
.Item([http://schemas.microsoft.com/cdo/configuration/smtpserver]) = [smtp.gmail.com]
.Item([http://schemas.microsoft.com/cdo/configuration/smptserverport]) = 465
.Item([http://schemas.microsoft.com/cdo/configuration/smtpauthenticate]) = 1
.Item([http://schemas.microsoft.com/cdo/configuration/smtpusessl]) = .T.
.Item([http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout]) = 15
.Item([http://schemas.microsoft.com/cdo/configuration/sendusing]) = 2
.Item([http://schemas.microsoft.com/cdo/configuration/sendusername]) = [xxxxxxxx@gmail.com]
.Item([http://schemas.microsoft.com/cdo/configuration/sendpassword]) = [xxxxxxxxxxxx]
.Update
EndWith
* build email parts


With iMsg
.Configuration = iMsg

* .Configuration = iConf
.To = ALLTRIM(pEmailAddress)
.From = [xxxxxxxxxxxx@gmail.com]
.Subject = [Order cancellation: ]+ WaiterName
.HTMLBody = pText
.Send
EndWith
RELEASE iMsg
RELEASE iConf

Посыпались Type Mismatch на вот этом месте
.Configuration = iMsg

Я уже ничего не могу понять в этой логике.
5 дек 18, 14:24    [21754397]     Ответить | Цитировать Сообщить модератору
 Re: CDO Mail Gmail  [new]
Valerii
Member

Откуда:
Сообщений: 705
Valerii
Sergey Sizov
Valerii,

iMsg = CreateObject('CDO.message')
iMsg.Configuration = CreateObject("CDO.Configuration")
iMsg.Configuration.Load(-1)
iMsg.Configuration.Fields

Разница понятна?


Изменил код согласно твоей логики:
iMsg = CreateObject('CDO.message')
*iConf = CreateObject("CDO.Configuration")
*iConf.Load(-1)
*flds = iConf.Fields

iMsg.Configuration = CreateObject("CDO.Configuration")
iMsg.Configuration.Load(-1)
flds = iMsg.Configuration.Fields

With flds
.Item([http://schemas.microsoft.com/cdo/configuration/sendusing]) = 2 &&‘NTLM method
.Item([http://schemas.microsoft.com/cdo/configuration/smtpserver]) = [smtp.gmail.com]
.Item([http://schemas.microsoft.com/cdo/configuration/smptserverport]) = 465
.Item([http://schemas.microsoft.com/cdo/configuration/smtpauthenticate]) = 1
.Item([http://schemas.microsoft.com/cdo/configuration/smtpusessl]) = .T.
.Item([http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout]) = 15
.Item([http://schemas.microsoft.com/cdo/configuration/sendusing]) = 2
.Item([http://schemas.microsoft.com/cdo/configuration/sendusername]) = [xxxxxxxx@gmail.com]
.Item([http://schemas.microsoft.com/cdo/configuration/sendpassword]) = [xxxxxxxxxxxx]
.Update
EndWith
* build email parts


With iMsg
.Configuration = iMsg

* .Configuration = iConf
.To = ALLTRIM(pEmailAddress)
.From = [xxxxxxxxxxxx@gmail.com]
.Subject = [Order cancellation: ]+ WaiterName
.HTMLBody = pText
.Send
EndWith
RELEASE iMsg
RELEASE iConf

Посыпались Type Mismatch на вот этом месте
.Configuration = iMsg

Я уже ничего не могу понять в этой логике.


Убрал
.Configuration = iMsg
так как это повторяет
iMsg.Configuration = CreateObject("CDO.Configuration") и пошла снова основная ошибка транспорта.
5 дек 18, 14:30    [21754407]     Ответить | Цитировать Сообщить модератору
 Re: CDO Mail Gmail  [new]
Valerii
Member

Откуда:
Сообщений: 705
Valerii
Valerii
пропущено...


Изменил код согласно твоей логики:
iMsg = CreateObject('CDO.message')
*iConf = CreateObject("CDO.Configuration")
*iConf.Load(-1)
*flds = iConf.Fields

iMsg.Configuration = CreateObject("CDO.Configuration")
iMsg.Configuration.Load(-1)
flds = iMsg.Configuration.Fields

With flds
.Item([http://schemas.microsoft.com/cdo/configuration/sendusing]) = 2 &&‘NTLM method
.Item([http://schemas.microsoft.com/cdo/configuration/smtpserver]) = [smtp.gmail.com]
.Item([http://schemas.microsoft.com/cdo/configuration/smptserverport]) = 465
.Item([http://schemas.microsoft.com/cdo/configuration/smtpauthenticate]) = 1
.Item([http://schemas.microsoft.com/cdo/configuration/smtpusessl]) = .T.
.Item([http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout]) = 15
.Item([http://schemas.microsoft.com/cdo/configuration/sendusing]) = 2
.Item([http://schemas.microsoft.com/cdo/configuration/sendusername]) = [xxxxxxxx@gmail.com]
.Item([http://schemas.microsoft.com/cdo/configuration/sendpassword]) = [xxxxxxxxxxxx]
.Update
EndWith
* build email parts


With iMsg
.Configuration = iMsg

* .Configuration = iConf
.To = ALLTRIM(pEmailAddress)
.From = [xxxxxxxxxxxx@gmail.com]
.Subject = [Order cancellation: ]+ WaiterName
.HTMLBody = pText
.Send
EndWith
RELEASE iMsg
RELEASE iConf

Посыпались Type Mismatch на вот этом месте
.Configuration = iMsg

Я уже ничего не могу понять в этой логике.


Убрал
.Configuration = iMsg
так как это повторяет
iMsg.Configuration = CreateObject("CDO.Configuration") и пошла снова основная ошибка транспорта.



Это на уровне связи с smtp сервером
TLS, SSL ......
Н а гугле разрешил приложениям соединяться к этому аккаунту , с 7 - все ок. На 10 вот эти грабли.
5 дек 18, 14:32    [21754414]     Ответить | Цитировать Сообщить модератору
 Re: CDO Mail Gmail  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1401
Valerii,
наконец-то добрались руки до сей темы. После разрешения на Gmail принимать коннекты от CDO всё совершенно спокойно отправилось. На WIN 10.
6 дек 18, 20:44    [21756381]     Ответить | Цитировать Сообщить модератору
 Re: CDO Mail Gmail  [new]
asdor
Member

Откуда: Москва
Сообщений: 436
Valerii,
Ну откройте, наконец то, для себя тег src
Ваш вопрос, легче у отвечающего читать, у которого все отформатировано.
7 дек 18, 07:41    [21756578]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить