broken
Goto Top

VBA smtp mails

Versenden von SMTP Mails mit hilfe von VBA

Guten Tag Gemeinde

ich hab ein Problem mit VBA / SMTP mails.

Ich will aus einer Exceltabelle mit Hilfe von VBA eine Email versenden, die mit SMTP versendet wird.

Hier der Code

    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") = "SMTP Server"  
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25  
            .Update
        End With

    strbody = "Dear Madams," & vbNewLine & vbNewLine & _  
              "please find attached the test order overview." & vbNewLine & vbNewLine & _  
              "Kind Regards" & vbNewLine & vbNewLine & _  
              "test gmbh"  
              


    With iMsg
        Set .Configuration = iConf
        .To = "benutz@test.de;test@benutz.com "  
        .CC = ""  
        .BCC = ""  
        .From = """mir"" <tester@hans.de>"  
        .Subject = "Order "  
        .TextBody = strbody
        .AddAttachment "C:\view.xls"  
        .Send
    End With

das Problem ist wenn ich das so eingebe, erhalte ich eine fehlermeldung, dass

"
Laufzeitfehler '-2147220977 (8004020f)':
Der Server hat eine oder mehrere Empfänger zurückgewiesen. Die
Serverantwort lautet: 550 5.7.1 Unable to relay for test@benutz.com
"

es Taucht auch nur dann auf wenn ich ins ausland etwas versenden will.
wenn ich mehrer email adressen mit der endung de benutze habe ich kein Problem.

Vielen Dank schonmal im Voraus

Gruß
Broken

Content-ID: 108044

Url: https://administrator.de/contentid/108044

Ausgedruckt am: 17.11.2024 um 07:11 Uhr

AndreasHoster
AndreasHoster 04.02.2009 um 14:44:05 Uhr
Goto Top
Dein verwendeter SMTP Server hat Regeln, welche Absenderadressen an welche Empfängeradressen Emails verschicken dürfen.
Und an test@benutz.com scheinst tester@hans.de wohl keine verschicken zu dürfen.
=> Kein Programmfehler in Deinem Skript, Einstellungssache am SMTP Server.
Broken
Broken 04.02.2009 um 14:54:02 Uhr
Goto Top
Hi
danke für deine schnelle Antwort

kann man das nicht irgendwie umgehen,
oder muss ich wirklich denn Administrator in Denver (leider so weit weg) anrufen?
AndreasHoster
AndreasHoster 04.02.2009 um 15:08:14 Uhr
Goto Top
Sicherheitsfeatures sind dazu da, daß man Sie nicht einfach umgeht.
Und schließlich soll das System nicht als Spamschleuder enden, oder?

Du wirst wohl Deinen Admin fragen müssen.
Broken
Broken 05.02.2009 um 08:57:11 Uhr
Goto Top
Ich hab es anders gelösst.

 .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1  
 .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "user"  
 .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "pwd"  

mit dieser Erweiterung im Code kann man dem SMTP Server die benötigten informationen geben und somit überallhin die mails versenden.

Danke an alle die versuchthaben das Problem zu lösen

Gruß
Broken
AndreasHoster
AndreasHoster 05.02.2009 um 09:18:16 Uhr
Goto Top
SMTP Auth ist natürlich auch eine Alternative, wenn der SMTP Server es unterstützt.