2009-11-29 6 views
3

저는 Classic ASP &에서 일하고 있습니다. Vbscript 사이트에서 CDO.Message를 사용하여 전자 메일을 보내고 있습니다. 나는이 기능에 문제가 실행 해요 그리고, 나는 그것이 SMTP 인증 설정과 우리가 실행하는 공유 호스트와 관련이있다 생각CDO.Message - "전송 서버에 연결하지 못했습니다."

CDO.Message.1 error '80040213' 

The transport failed to connect to the server. 

을 오류를 잡하고있다. 문제를 더 디버깅하는 데 도움을 찾고 있습니다. 여기

내가는 위의 코드에서 주석 처리 된 줄 9-13로되었을 수 있습니다 생각 기능의 주요 코드, 처음에는

Set objConfig = Server.CreateObject("CDO.Configuration") 
Set Fields = objConfig.Fields 

' Set config fields we care about 
With Fields 
.Item(cdoSendUsingMethod)  = cdoSendUsingPort 
.Item(cdoSMTPServer)   = "mail.<website>.com" 

'.Item(cdoSMTPServerPort)  = 25 
'.Item(cdoSMTPConnectionTimeout) = 10 
'.Item(cdoSMTPAuthenticate)  = cdoBasic 
'.Item(cdoSendUserName)   = "support" 
'.Item(cdoSendPassword)   = "password" 

.Update 
End With 

Set objMessage = Server.CreateObject("CDO.Message") 

Set objMessage.Configuration = objConfig 

With objMessage 
.To  = lEmailTo     '"Display Name <email_address>" 
.From  = lEmailFrom     '"Display Name <email_address>" 
.Subject = lSubject 
.TextBody = lMessage 
.Send 
End With 

이지만, 이전 개발자가 그 댓글을 달았 나타납니다 그리고 이메일 기능이 어느 시점에서 여전히 작동하고 있다는 것을 알았습니다. 이러한 줄의 주석 처리를 제거해도 여전히 오류는 해결되지 않습니다.

내가 누락 된 부분을 누구든지 볼 수 있습니까? 누구든지 CDO.Configuration의 기본값과이 코드가 공유 호스트에서 사용하려고하는 SMTP 설정을 알고 있습니까? 먼저 우리의 호스팅을 &과 명확히해야합니까?

+1

이 코드는 "일부 지점"에서 작동했지만 현재는 그렇지 않습니다. 작동이 멈췄을 때 무엇이 ​​바뀌 었습니까? – AnthonyWJones

+0

나는 우리가 사용하고있는 공유 호스팅의 변화로 생각합니다. 모두 똑같이, 당신은 나에게 문제에 대해 다시 생각하게하고 이제는 해결된다! – nrub

답변

-1

나는 cdoSMTPServer를 localhost로 변경했습니다. 모두 우주선 모양입니다!

1

ASP 페이지 맨 위에 typelib을 포함 할 때까지 CDO에 어려움을 겪었습니다. 형식 라이브러리는 < %%> 구분 기호 안에 없습니다. typelib 줄이 길어서 모두 읽으려면 오른쪽으로 스크롤해야합니다.

먼저 페이지에 typelib 문을 추가하십시오.

그래도 문제가 해결되지 않으면 아래 코드를 시도해보십시오. Godaddy가 호스팅하는 웹 사이트에서이 코드를 성공적으로 사용했습니다. 물론 필요한 경우 메일 서버 정보와 로그인/비밀번호를 연결해야합니다.

<!--METADATA TYPE="typelib" UUID="CD000000-8B95-11D1-82DB-00C04FB1625D" NAME="CDO for Windows 2000 Type Library" --> 
<% 
Sub SendEmail()

Set cdoConfig = CreateObject("CDO.Configuration") 

if lcase(Request.ServerVariables("SERVER_NAME")) = "dev" then 
     With cdoConfig.Fields 
       .Item(cdoSendUsingMethod) = cdoSendUsingPort 
       .Item(cdoSMTPServer) = "xxx.<devmailservername>.xxx" 
       .Item(cdoSMTPAuthenticate) = 1 
       .Item(cdoSendUsername) = "[email protected]" 
       .Item(cdoSendPassword) = "<passwordgoeshere>" 
       .Update 
     End With 
else 
     With cdoConfig.Fields 
       .Item(cdoSendUsingMethod) = cdoSendUsingPort 
       .Item(cdoSMTPServer) = "xxx.<productionmailservername>.xxx" 
       .Update 
     End With 
end if 

Set cdoMessage = CreateObject("CDO.Message") 

With cdoMessage 
    Set .Configuration = cdoConfig 
    .From = "[email protected]" 
    .To = "[email protected]" 
    .Subject = "Sample CDO Message" 
    .htmlbody = "<html><body>Sample <b>CDO</b> message.</body></html>" 
    .TextBody = "Sample CDO Message." 
    .Send 
End With 

Set cdoMessage = Nothing 
Set cdoConfig = Nothing 

End Sub %>

관련 문제