많은 질문이 있지만 거기에는 아무 답변도없는 것 같습니다.ASP 클래식 전자 메일 '80040213'전송이 서버에 연결하지 못했습니다.
내 응용 프로그램은 실행중인 서버가 Windows Server 2000 (매우 오래된 것 같습니다)이고 Office365 서버를 사용하며 전자 메일에 로그인 할 때 Office365에서 제공하는 정보를 사용하고 있습니다 (포트 587, 올바른 사용자 이름과 암호, 올바른 SMTP 서버, TLS를 true로 설정).
항상 "CDO.Message.1 오류 '가 발생합니다. 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'을 입력하면 인터넷 제공 업체가 포트를 차단하고 있습니다. – Henry
나는 이미 그것을 시도하고 그것을 언급하는 것을 잊어 버렸다. 나는 Service Ready를 얻는다. 그러나 당신이 그것을 뒤로 가져 왔던 이래로 나는 재 시도했고, 약간의 파기 (로그인하려고 노력했다)를했다. 내가 들어올 때 : MAIL FROM : 명령에 응답을 입력하면 2 개의 응답이 있는데, 처음에는 "잘못된 주소"로되어있어서 다시 시도하고 "클라이언트가 MAIL FROM 중에 익명의 메일을 보내도록 인증되지 않았습니다"라는 메시지가 나타납니다. – Atlim