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-Key: 108044

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

Printed on: April 19, 2024 at 03:04 o'clock

Member: AndreasHoster
AndreasHoster Feb 04, 2009 at 13:44:05 (UTC)
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.
Member: Broken
Broken Feb 04, 2009 at 13:54:02 (UTC)
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?
Member: AndreasHoster
AndreasHoster Feb 04, 2009 at 14:08:14 (UTC)
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.
Member: Broken
Broken Feb 05, 2009 at 07:57:11 (UTC)
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
Member: AndreasHoster
AndreasHoster Feb 05, 2009 at 08:18:16 (UTC)
Goto Top
SMTP Auth ist natürlich auch eine Alternative, wenn der SMTP Server es unterstützt.