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

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

Printed on: April 24, 2024 at 00:04 o'clock

Member: manuel-r
Solution manuel-r Jul 27, 2019 at 18:21:59 (UTC)
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
Mitglied: 140447
Solution 140447 Jul 27, 2019 at 20:25:17 (UTC)
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
Member: alexander01
alexander01 Jul 28, 2019 at 09:49:16 (UTC)
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
Mitglied: 140447
Solution 140447 Jul 28, 2019 updated at 10:18:15 (UTC)
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
Member: alexander01
alexander01 Jul 28, 2019 at 19:34:08 (UTC)
Goto Top
Vielen Dank !!!
Es funktioniert!!
Problem gelöst.
Nochmals Danke
Alexander