2014-09-01 6 views
0

그래서 Excel VBA에서 전자 메일을 보내는 코드입니다. 코드는 아무런 이유없이 매크로가 작동하지만 아무 것도 도착지 주소에 도착하지 않은 오늘 아침까지 완벽하게 작동했습니다! 이 SMTP 릴레이 문제가 있습니까? 그렇다면 어떻게 수정해야합니까? 아니면이 문제가 있다는 것이 가능하다 "는 http://schemas.microsoft.com/cdo/configuration는 (나는 아직도 ? 가능 로컬 스키마를 가지고이야 어떻게 작품을! 모르는 아니면 내가 뭔가를 놓친 거지! 미리 에서 감사합니다 팀에게 다음CDO smtp 메일이 갑자기 전송되지 않습니다.

을 . 매크로입니다 - 이름 만이

Sub CDO_Mail() 
    Dim iMsg As Object 
    Dim iConf As Object 
    Dim strbody As String 
    Dim Flds As Variant 

    Set iMsg = CreateObject("CDO.Message") 
    Set iConf = CreateObject("CDO.Configuration") 

    iConf.Load -1 ' CDO Source Defaults 
    Set Flds = iConf.Fields 
    With Flds 
     .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True 
     .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 
     .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]" 
     .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "BigSecret" 
     .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "auth.smtp.1and1.fr" 

     .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 
     .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 
     .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 
     .Update 
    End With 
     With iMsg 
     Set .Configuration = iConf 
     .To = "[email protected]" 
     .CC = "" 
     .BCC = "" 
     .From = "TheMainMan" 
     .Subject = "Important message" 
     .TextBody = "BODYTEXT" 
     .Send 

    End With 
End Sub 

답변

0

하는 대신 초기 바인딩을 사용해보십시오 : 무고한 사람들을 보호하기 위해 변경되었습니다이 자동 완성 사용할 수 있도록의 추가적인 장점을 가지고 귀하의 구성은 다음과 같이 설정할 수 있습니다 :

.
Dim iConf As CDO.Configuration 

Set iConf = New CDO.Configuration ' CreateObject("CDO.Configuration") 
With iConf.Fields 
    .Item(cdoSendUsingMethod) = cdoSendUsingPort 
    .Item(cdoSMTPServerPort) = 465 
    .Item(cdoSMTPServer) = "auth.smtp.1and1.fr" 
    .Item(cdoSendUserName) = "[email protected]" 
    .Item(cdoSendPassword) = "BigSecret" 
    'etc. 
    .Update 
End With 

이 도구를 사용하려면 CDO 라이브러리에 대한 명시 적 참조를 설정해야합니다. 도구> 참조> Microsoft CDO 옆에 체크 표시를 설정하십시오.

CDO reference in VBE

관련 문제