alexander01
Goto Top

Hilfe bei VB-Script erbeten

Hallo,
ich hatte weiter unten schon mal wegen eines Problemes mit dem hmailserver gefragt, jedoch keine Antwort bekommen.
Da es für mich wichtig ist, hier nochmal meine Frage:
ich benötige ein VB-Script, welches meine lokalen Mail-Adressen (z.B. user1@domain.local) in meine öffentliche Adresse (z.B. info@domain.de) umschreibt.
Es gibt mehrere lokale Benutzer (user1-user10), alle Adressen sollten in die eine öffentliche umgeschrieben werden.
unter dem EventHandler OnAcceptMessage (oder besser OnDeliveryStart ??) habe ich im Netz Gefundenes probiert, bekomme jedoch immer Fehlermeldungen (Laufzeitfehler, Objekt erwartet...)
Kann mir hier jemand weiterhelfen?
Vielen Dank!
Alexander

Content-ID: 478432

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

Ausgedruckt am: 22.11.2024 um 19:11 Uhr

manuel-r
Lösung manuel-r 27.07.2019 um 20:21:59 Uhr
Goto Top
Auch "Hallo"

Der Fehler besagt, dass du ein Objekt benutzt das du nicht zuvor erzeugt hast. Ohne den relevanten Code kann dazu aber niemand mehr sagen. Also bitte den Code sowie die Zeilennummer die der Interpreter als fehlerhaft auswirft nachliefern.

Manuel
140447
Lösung 140447 27.07.2019 um 22:25:17 Uhr
Goto Top
Sub OnAcceptMessage(oClient, oMessage)
   If (InStr(1, oMessage.FromAddress, "@domain.local", 1) > 0) Then  
      oMessage.FromAddress = Split(oMessage.FromAddress,"@",2,1)(0) & "@domain.de"  
      oMessage.Save
   End If
End Sub
alexander01
alexander01 28.07.2019 um 11:49:16 Uhr
Goto Top
Klappt! Dankeschön!
Der Mailversand ist nun möglich!
Ich habe die Zeile
oMessage.From = "[xyz@domain.de]" hinzugefügt, um dem Empfänger der Mail auch die richtige Absenderadresse zu zeigen, auch das klappt.
Um die Sache zu optimieren, müsste ich den Quelltext noch ein wenig verändern:
bei einer bestimmten Absenderadresse (sagen wir admin@domain.local) soll eine bestimmte neue Adresse entstehen (admin@domain.de), bei allen anderen Absendern soll "info@domain.de" entstehen.
Die Programmierung (siehe oben) bzw. das Verständnis ist für einen Laien nicht ganz einfach, ich lese mich ein, bin aber über Hilfe dankbar!
Alexander
140447
Lösung 140447 28.07.2019 aktualisiert um 12:18:15 Uhr
Goto Top
bei einer bestimmten Absenderadresse (sagen wir admin@domain.local) soll eine bestimmte neue Adresse entstehen (admin@domain.de), bei allen anderen Absendern soll "info@domain.de" entstehen

Sub OnAcceptMessage(oClient, oMessage)
   If (InStr(1, oMessage.FromAddress, "@domain.local", 1) > 0) Then  

         If LCase(oMessage.FromAddress) = "admin@domain.local" then  
            oMessage.FromAddress = "adminblablub@domain.de"  
            oMessage.From = "adminblablub@domain.de"  
         Else
            oMessage.FromAddress = "info@domain.de"  
            oMessage.From = "info@domain.de"  
         End if
      oMessage.Save
   End If
End Sub
alexander01
alexander01 28.07.2019 um 21:34:08 Uhr
Goto Top
Vielen Dank !!!
Es funktioniert!!
Problem gelöst.
Nochmals Danke
Alexander