Я знаю, что есть много вопросов с этим, но у меня нет ответа, который работает для меня.ASP Classic Email '80040213' Транспорт не смог подключиться к серверу
Мое приложение ASP Classic, на котором он работает, является Windows Server 2000 (очень старый, я знаю), я использую сервер Office365, и я использую информацию, предоставленную Office365, когда я вхожу в систему по электронной почте (Порт 587, правильное имя пользователя и пароль, правильный SMTP-сервер, TLS установлен в true).
Я всегда получаю сообщение «CDO.Message.1 error» 80040213 «Транспорт не удалось подключиться к серверу». как сообщение об ошибке, строка, на которую он указывает, является командой .Send.
Const cdoSendUsingMethod = "http://schemas.microsoft.com/cdo/configuration/sendusing"
Const cdoSendUsingPort = 2
Const cdoSMTPServer = "http://schemas.microsoft.com/cdo/configuration/smtpserver"
Const cdoSMTPServerPort = "http://schemas.microsoft.com/cdo/configuration/smtpserverport"
Const cdoSMTPConnectionTimeout = "http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"
Const cdoSMTPAuthenticate = "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"
Const cdoBasic = 1
Const cdoSendUserName = "http://schemas.microsoft.com/cdo/configuration/sendusername"
Const cdoSendPassword = "http://schemas.microsoft.com/cdo/configuration/sendpassword"
'Use SSL for the connection (False or True)
Const cdoSendTLS = "http://schemas.microsoft.com/cdo/configuration/smtpusessl"
' create CDOSYS objects
Set objCDOSYSMail = Server.CreateObject("CDO.Message")
Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration")
'Set our smtp server
objCDOSYSCon.Fields.Item(cdoSMTPServer) = "smtp.office365.com"
objCDOSYSCon.Fields.Item(cdoSMTPAuthenticate) = cdoBasic
objCDOSYSCon.Fields.Item(cdoSendUserName) = "[email protected]"
objCDOSYSCon.Fields.Item(cdoSendPassword) = "password"
'objCDOSYSCon.Fields.Item(cdoSMTPServerPort) = 587
objCDOSYSCon.Fields.Item(cdoSendUsingMethod) = cdoSendUsingPort
objCDOSYSCon.Fields.Item(cdoSendTLS) = True
objCDOSYSCon.Fields.Item(cdoSMTPConnectionTimeout) = 30
objCDOSYSCon.Fields.Update
'Use our new configurations for our mailer
Set objCDOSYSMail.Configuration = objCDOSYSCon
strSpecFile = Application("px683_network_downloads_specs") & strSpecFileName
objCDOSYSMail.From = "[email protected]"
objCDOSYSMail.To = "[email protected]"
objCDOSYSMail.Subject = "A subject"
objCDOSYSMail.HTMLBody = "Some text for the body"
'Normal level of importance
objCDOSYSMail.Send
set objCDOSYSMail = nothing
set objCDOSYSCon = nothing
Я пробовал с портом 25 без везения. Если я использую другую почтовую службу, которая вообще не использует SSL (локальная служба, а не Office365), у меня нет проблем (я комментирую usessl и меняю порт на 25). Кроме того, если я пытаюсь использовать другую почтовую службу, которая работает безупречно в приложении ASP.Net, я получаю те же проблемы, эта другая служба электронной почты использует порт 25 и SSL и не является службой Office365.
Из командной строки введите 'telnet smtp.office365.com 587', если вы не получили ответ« Service Ready », ваш интернет-провайдер блокирует порт. – Henry
Я уже пробовал это и просто забыл упомянуть об этом. Я получаю Service Ready, но с тех пор, как вы вернули его, я повторил попытку и попытался войти в систему. Я вхожу, но когда я вхожу в команду MAIL FROM: command, я получил 2 ответа, сначала был «неверный адрес», который был нечетным, поэтому я повторил, и я получил «Клиент не был аутентифицирован для отправки анонимной почты во время MAIL FROM» – Atlim