Just nu i M3-nätverket
Gå till innehåll
S.azon1953

Skicka Epost från EXCEL med hjälp av CDO

Rekommendera Poster

S.azon1953

God kväll,

Jag gjort ett formulär i excel och nu vill jag skicka formuläret direkt från excel när man klickar på en knapp, jag har skrivit  VBA  koden enligt alla konstens regler men sedan dyker det upp lite problem som jag inte förstår. Jag kan skicka koden om någon känner för att titta på den.  

 Det första problemet var at jag fick  felkod 80040213 vilket betyder att CDO funktion inte kopplar upp mot Svenska Domäners  SMTP servern. Det var lätt åtgärdat jag hade inte skrivit in Användare och Lösenord. När jag sedan kör felsökning och stegade mig i koden då får jag felkoden  80040220 vilket har med behörigen i 365 Dynamics att göra. 

info, jag har aktiverat MS biblioteket CDO 2000..... etc

 

Har ni någon idé om varför det går fel, det här är helt nytt problem för mig?

 

/SA

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Monshi

Här måste vi nog se koden för att kunna säga något. Jag kör CDO framgångsrikt via gmail exempelvis i projekt.

Aldrig sett de där felkoderna.

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
S.azon1953

Här kommer koden, fdi de riktiga epost-adresserna har jag ändrat i den här koden. Tacksam att du tittar på mitt problem.

 

'Skickamail  från execl genon SMPT-tjänsten Svenska Domäner
Sub CDO_Mail_Small_Text()
    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/sendusing") = 2
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.svenskadomaner.se"
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
            .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "mig@borenet.com"
            .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "xxxxx"
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 20
           
        
        End With


    strbody = "Test 1" & vbNewLine & vbNewLine & _
        "This is line 1" & vbNewLine & _
        "This is line 2" & vbNewLine & _
        "This is line 3" & vbNewLine & _
        "This is line 4"

    With iMsg
        Set .Configuration = iConf
        .To = "stefan@xxxxx.se"
        .CC = "mig@boremail.com"
        .BCC = "stefan.a@xxxxx.se"
        .From = "stefan@xxxxx.se"
        .Subject = "test2"
        .TextBody = strbody
        .Send
    End With

    Set iMsg = Nothing
    Set iConf = Nothing
    Set Flds = Nothing
End Sub


mvh/SA

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
S.azon1953

Felkoden kommer i den sista End Sub när man har kört felsökning 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Monshi

Lägg in

On Error GoTo errHandle

i början av koden och innan End Sub

Exit Sub
errHandle:
   MsgBox Err.Description, vbInformation, "Felmeddelande"
End Sub 

Så kanske vi får fram ett bättre felmeddelande.

 

Rent kodtekniskt rekommenderar jag att objektifiera koden så att du inte har de värden, som lösenord, kodade i koden.

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
S.azon1953

 

Hej, 

 

Nu får jag felkoden 80040211  Automations .fel  Jag kan skicka email från Outlook utan problem till SMTP server email.svenskadomaner.se  port 465. 

Jag har titta på ett flertal forum och sökt efter problemet och tydligen finns många som har samma problem. Jag har testat att skriva ut hela URL:en och från .Item...

Med andra ord min VBA Kod ser lika ut hos alla en del fungerar och andra inte. 

 

Du skriver att du har inga problem med CDO och excel och det fungerar. Vilka avvikelser är det mellan din och min kod för att kunna skicka ett mail från excel office 360  2020 sista uppdateringen.  Har även kontrollerat om det är någon Firewall hos mig som stoppar upp allt.  

 

Det är ett riktigt quiz 

 

mvh

/SA

 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
S.azon1953

Hej igen,

nu har jag kört koden och får följande meddelande och det går fel  vid  .Send 

 

 

 

image.png.51f6837e6e0f476e39ca35c30cda83a9.png

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Monshi

Okej, testa denna. Har strippat ned en bok till ett exempel.

Fyll i dina serverdata på bladet epostinställningar

Till vem du ska skicka på sidan epost och klicka sedan på knappen.

 

Det kan ju vara den smpt som du använder som inte gillar Excel som klient.  I gmails fall så nekar den per standard skicka via lösenord, antingen måste man slå på 2FA och skapa ett app-lösenord eller slå av en säkerhetsinställning i gmail att tillåta "enkla" klienter. Normalt använder gmail för externa program OAUTH som autentisering idag.

 

cdo-exempel.zip

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
S.azon1953

Stort tack Monshi,

 

Jag testar.  Jag har förstått att det inte är helt solklart att det alltid fungerar. Jag har kollat med Svenska Domäner och deras SMTP, de skickade en  VBA kod och den är identisk  med min och de påstår att den fungerar hos dem. Jag har testat den också  samma besked, error 80040211. Jag får troligen byta till en annan SMTP leverantör för att klara mitt problem.

 

/SA

 

 

 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
S.azon1953

Hej igen,

 

Nu har jag kört din Excel applikation med CDO och det fungerar precis som jag har tänkt mig. Jag fick ett meddelande om avbrottsläge och därefter valde jag designläge, ALLT OKEJ!! 

Nu kanske du ser vad mitt problem i min kod är, jag hittar inget problem men naturligtvis är det något. Jag gillar din objektifiering/formulär.

Har du en tanke om du kan hjälpa mig?

 

MVH

SA    

 

 

   

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Monshi

skicka över hela boken till mig, enklare att se det i dess kontext.

 

Du kan skicka via pm om du inte vill visa det för alla.

Eller för den delen, ta del av min kod, klassmodulen och koden för att skicka.

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
S.azon1953

Tack Monshi, 

FDI , jag bygger alltid mina VBA Excel funktioner och testar dem i en egen bok innan jag lägger över koden till produktions-boken eller kopplar ihop böckerna. Om jag får ta del av din kod, det värmer. Jag har varit med några år och vet vad kunskap och förtroende betyder. 

Jag skickar min bok oavsett.

 

Mvh

S.azon1953 

      

 

 

 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
S.azon1953

Bäste Monshi, 

 

Jag kunde inte slita mig från CDO problemet därför blev det en hel del nattarbete och research, jag vill inte bara lämna över ett problem till tredje person utan att jag har gjort allt som går för att felsöka. Jag lyckades tillslut, har troligen kommit på varför det inte har fungerat. ALLT fungerar nu!!! 

Jag skriver ner en rapport och postar den i tråden, jag tror nämligen att det är många med mig  som har eller haft samma problem.  En metod som jag använde var att försöka få så många error koder som möjligt för att hitta någon logik i flödet av error koder när koden körs t.ex 80040211 , 80040217 m flera.  

 

Jag återkommer med ett PM 

MVH

/SA

 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...