Отправка почты с CDO через Google Apps выдает ошибку транспорта: ошибка CDO.Message.1 '80040213' - PullRequest
0 голосов
/ 12 марта 2012

Я пытаюсь отправить электронное письмо с запросом контакта из старого классического сценария asp, используя учетную запись Google Apps в качестве SMTP-сервера.Код, который я должен проверить, выглядит следующим образом:

Dim ObjSendMail
Set ObjSendMail = CreateObject("CDO.Message") 

'This section provides the configuration information for the remote SMTP server.
ObjSendMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 'Send the message using the network (SMTP over the network).
ObjSendMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") ="mail.thedomain.com"
ObjSendMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 ' or 587
ObjSendMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
ObjSendMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60

' Google apps mail servers require outgoing authentication. Use a valid email address and password registered with Google Apps.
ObjSendMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 'basic (clear-text) authentication
ObjSendMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") ="info@thedomain.com" 'your Google apps mailbox address
ObjSendMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") ="password" 'Google apps password for that mailbox

ObjSendMail.Configuration.Fields.Update

ObjSendMail.To = "me@mydomain.net"
ObjSendMail.Subject = "this is the subject"
ObjSendMail.From = "info@thedomain.com"

' we are sending a text email.. simply switch the comments around to send an html email instead
'ObjSendMail.HTMLBody = "this is the body"
ObjSendMail.TextBody = "this is the body"

ObjSendMail.Send
Set ObjSendMail = Nothing 

Я пробовал оба порта с номерами 465 и 587. Я пробовал mail.thedomain.com, smtp.thedomain.com и mail.gmail..com и smtp.gmail.com в качестве SMTP-сервера, но ничего не работает.Я вошел в учетную запись Google Apps с адресом электронной почты и паролем в скрипте, поэтому эти данные точно верны.

Все, что я могу получить, это следующая ошибка:

CDO.Message.1 error '80040213'

The transport failed to connect to the server.

/_test-email.asp, line 46 

(в строке 46 написано ObjSendMail.Send)

Кто-нибудь может увидеть, что может быть не так?

Спасибо, ребята!

Ответы [ 2 ]

2 голосов
/ 26 марта 2012

Я пытался с Gmail SMTP-сервером и немного изменил ваш код, и это сработало как шарм.

Просто измените эти 3 параметра, и все готово.

ObjSendMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") ="smtp.gmail.com"
ObjSendMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
ObjSendMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = 1
1 голос
/ 12 марта 2012

Попробуйте установить smtpusessl на 1 (true) (я вижу, у вас установлено false)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...