logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[VBA] Wysyłanie maila przez SMTP z CDO - problem z autoryzacją w Excelu

elCiapek 29 Lis 2009 08:45 2855 5
REKLAMA
  • #1 7321852
    elCiapek
    Poziom 11  
    Posty: 11
    Pomógł: 3
    Ocena: 1
    Witam,

    Mam problem z wysłaniem maila poprzez SMTP przy użyciu CDO - na razie z Excela. Znalazłem sporo przykładów na necie identycznych z moim kodem, ale niestety problem leży w autoryzacji przy próbie nawiązania połączenia. Komuś udało się wsyłać korzystając z CDO, ewentualnie zna inne możliwości na wysłanie maila?
  • REKLAMA
  • #2 7322075
    adamas_nt
    VIP Zasłużony dla elektroda
    Posty: 5320
    Pomógł: 1508
    Ocena: 659
    Nie próbowałem co prawda w Excelu ale w Access'ie wykorzystałem rozwiązanie Krzysztofa P. Link
    Może uda się coś zaadoptować...
  • REKLAMA
  • #3 7322457
    elCiapek
    Poziom 11  
    Posty: 11
    Pomógł: 3
    Ocena: 1
    Z informacji jakie udało mi się znaleźć w interneciem wynika, że CDO nie wspiera uwierzytelniania podczas połączenia z serwerem pocztowym. Z tego co wiem wszytskie serwery wymagają tego mechanizmu.
  • REKLAMA
  • #4 7322517
    adamas_nt
    VIP Zasłużony dla elektroda
    Posty: 5320
    Pomógł: 1508
    Ocena: 659
    U mnie działa

    [VBA] Wysyłanie maila przez SMTP z CDO - problem z autoryzacją w Excelu

    [VBA] Wysyłanie maila przez SMTP z CDO - problem z autoryzacją w Excelu
  • REKLAMA
  • #5 7324271
    elCiapek
    Poziom 11  
    Posty: 11
    Pomógł: 3
    Ocena: 1
    Z wierzchu widać, że chodzi a co siedzi w środku - możesz wkleić kod?
    Ja mam coś takiego i nie bardzo chce pracować.

        intSendMode = 2 ' use port to launch send, not a local dir or Exchange svr.
        intSMTPAuth = 2 ' use basic authentication
        boolUseSSL = True ' true
        
        Dim iMsg As Object
        Dim iConf As Object
        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/smtpserverpickupdirectory") = "c:\"
            .Item("http://schemas.microsoft.Com/cdo/configuration/sendusing") = intSendMode
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.poczta.onet.pl"
            .Item("http://schemas.microsoft.Com/cdo/configuration/smtpauthenticate") = intSMTPAuth
            .Item("http://schemas.microsoft.Com/cdo/configuration/sendusername") = "testing3349@onet.pl"
            .Item("http://schemas.microsoft.Com/cdo/configuration/sendpassword") = "testing3349"
            
            .Item("http://schemas.microsoft.Com/cdo/configuration/smtpserverport") = 25
            .Item("http://schemas.microsoft.Com/cdo/configuration/smtpusessl") = boolUseSSL
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
            .Update
        End With
        
        strbody = "Sample message " & Time
        
        With iMsg
        Set .Configuration = iConf
        .From = "testing3349@onet.pl"
        .To = "testing3349@onet.pl"
        '.CC = ""
        '.BCC = ""
        ' Note: The reply address is not working if you use this Gmail example
        ' It will use your Gmail address automatic. But you can add this line
        ' to change the reply address .ReplyTo = "Reply@something.Com"
        '.From = "<nikogo>"
        .Subject = "subject"
        .TextBody = strbody
        .Send
        End With
  • #6 7325468
    adamas_nt
    VIP Zasłużony dla elektroda
    Posty: 5320
    Pomógł: 1508
    Ocena: 659
    W załączniku kod formularza
    Załączniki:
    • KodForm.txt (2.97 KB) Musisz być zalogowany, aby pobrać ten załącznik.
REKLAMA