82959
Goto Top

E-Mails extern mit anderer Absenderadresse versenden

Mehrere Exchange 2003 Benutzer sollen nach außen hin unter einer einheitlichen Absender-E-Mail Adresse auftreten

Hallo zusammen,

nach längerer Recherche und keiner wirklich eindeutig passenden Lösung, habe ich mich entschieden die Frage an euch zu stellen.

SZENARIO:
Mehrere Exchange 2003 Benutzer sollen intern wie bisher unter vorname.nachname@firmenname.tld E-Mails versenden, jedoch sobald ein E-Mail nach außen zu einer anderen Domain gesendet wird, soll automatisch abteilung@firmenname.tld als Absender E-Mail Adresse im E-Mail stehen.

MÖGLICHE LÖSUNGSANSÄTZE:
#1: Verwenden von "Senden als", jedoch wird dies nicht automatisiert gemacht und die Benutzer sind unzuverlässig
#2: Verwenden des SMTP Rewrites von Exchange 2003, jedoch bin ich mir nicht sicher wie das hier genau gehen soll bzw. ob dies überhaupt das Richtige ist und wie das mit dem separaten Tool von Microsoft genau konfiguriert wird.

MÖGLICHE LÖSUNGSANSÄTZE (unsaubere Varianten):
#3: Verwenden von "Senden als" für einen Benutzer egal ob extern oder intern. Er versendet immer unter abteilung@firmenname.tld. Allerdings würde auch hier wieder fehlen, dass dies Standardmäßig aktiviert ist und der Benutzer sich nicht darum kümmern muss.

SYSTEME:
Windows Server 2003 SBS mit Exchange 2003
Clients verwenden Outlook 2007

Ich hoffe euch fällt eine sinnvolle Lösung ein, oder ihr könnt mir zumindest den Schubs in die richtige Richtung geben, wenn keiner eine wirkliche Antwort hat. Ich bin für jede Hilfe dankbar.

Schöne Grüße
ITinfrastruktur

Content-ID: 150270

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

Ausgedruckt am: 13.11.2024 um 12:11 Uhr

goscho
goscho 03.09.2010 um 06:40:29 Uhr
Goto Top
Morgen ITinfrastruktur,
eine Automatik nur auf Exchange-Basis mit Outlook ohne Tools ist mi dafür nicht bekannt.
Du kannst dich aber mal damit beschäftigen:
http://www.lucatec.net/mask/index-en.php
Müsste in deine Richtung gehen.
82959
82959 07.09.2010 um 14:53:19 Uhr
Goto Top
Hallo goscho,

vielen dank für deine Rückmeldung. Nach weiteren ewig langen Suchen zu dem Thema und der Abwägung welche Lösung mit dem geringsten Aufwand verbunden ist, habe ich jetzt eine tolle Lösung gefunden. Hier unsere Lösung:

Beide Lösungen beinhalten ein VBA Makro, dass direkt beim Benutzer in Microsoft Outlook integriert wird und jeweils nach dem Senden des E-Mails ausgeführt wird.

#1: Nach dem Klicken auf "Senden" wird eine Message Box angezeigt die fragt, ob man die Funktion "Senden als" verwenden möchte. Dies verhindert, dass das Ausfüllen des "Von"-Feldes vergessen wird. Es kann lediglich mit JA oder NEIN geantwortet werden. Ein Abbrechen ist nicht möglich.

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
On Error GoTo Err001

Dim objItem As Outlook.MailItem

If Item.Class = olMail Then
    If MsgBox("E-Mail als '[Name des Absenders]' versenden?", vbYesNo) = vbYes Then  
        Set objItem = Item.Copy
        objItem.SentOnBehalfOfName = "absender@firma.de"  
        objItem.Send
        Item.Delete
        Cancel = True
    End If
End If

Exit Sub

Err001:
 MsgBox "Ein Fehler ist beim E-Mail Versand aufgetreten!"  

End Sub

#2: Nach dem Klicken auf "Senden" wird automatisch das "Von"-Feld befüllt und der Benutzer muss sich um gar nichts mehr kümmern. Es wird automatisch das "Senden als" verwendet.

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
On Error GoTo Err001

Dim objItem As Outlook.MailItem

If Item.Class = olMail Then
        Set objItem = Item.Copy
        objItem.SentOnBehalfOfName = "absender@firma.de"  
        objItem.Send
        Item.Delete
        Cancel = True
End If

Exit Sub

Err001:
 MsgBox "Ein Fehler ist beim E-Mail Versand aufgetreten!"  

End Sub

Der obige Code muss in Oultook mit Hilfe des Visual Basic Editors unter "Projekt1 > ThisOutlookSession" eingetragen und gespeichert werden. Ich hoffe dies hilft auch anderen weiter, die das selbe Problem haben und eine Lösung dafür suchen die einfach ist, aber leider keinen Exchange Standard entspricht und bei vielen Benutzer ev. nicht zu empfehlen ist.

WICHTIG: Es ist natürlich Voraussetzung, dass der Benutzer der dieses VBA Skript einsetzt natürlich auf dem Exchange Server die entsprechenden Rechte zum "Senden als" für die eingetragene E-Mail Adresse besitzt!

Schöne Grüße
ITinfrastruktur
invictus
invictus 10.09.2010 um 10:43:18 Uhr
Goto Top
Hallo,

das zweite Script ist genau das was ich gesucht habe... face-smile Funktioniert auch aber es schließt sich das Emailfenster nicht nachdem ich auf Senden geklickt habe, ich muss es von Hand schließen und sagen -nicht Speichern- Hat da noch jemand eine Idee? (Outlook 2003)
82959
82959 13.09.2010 um 05:26:15 Uhr
Goto Top
Hallo invictus,

also bei mir funktioniert das 2. Script perfekt und macht auch genau das was du willst. Man fügt es unter "Visual Basic Editor > Projekt1 > ThisOutlookSession" ein, speichert, schließt Outlook und startet es neu. Danach funktioniert alles wie gewünscht. Man öffnet ein neues E-Mail, füllt "An", "Betreff" und den Text entsprechend aus und klickt dann auf "Senden". Das Fenster wird automatisch geschlossen und das E-Mail mit dem richtigen Absender ("Von") versendet. Bei mir unter Outlook 2007 klappts perfekt.

Vielleicht hast du eine andere Outlook Version oder hast das Script ev. wo falsch eingefügt? Wobei normalerweise kanns an einer anderen Outlook Version nicht liegen ...

Schöne Grüße
ITinfrastruktur
a-za-z
a-za-z 14.11.2011 um 14:55:58 Uhr
Goto Top
Hallo!
Um nicht ein neues Thema aufzumachen möchte ich hier (auch wenn der Beitrag schon etwas älter ist) mal meine Frage anhänge da ich ein ganz ähnliches Problem habe.
Die Lösung die hier aufgezeigt wurde hilft mir leider nur zu 70% und ich beherrsche kein VBA-Skript, daher baue ich mal darauf dass mir ein Wissender schneller helfen kann als ich mir selbst.
Szenario:
"Meine" Outlook 2010 User nutzen gemeinsam einen Öffentlichen Ordner in Exchange 2003 und versenden dort über verschiedenste email-adressen (einkauf@meinedomain.de, info@..., service@... usw.!)
Daher nutzen diese auch die "Senden Als" Funktion.
Dabei vergessen diese aber oft im "Von"-Feld ein anderes Konto anzugeben als das von OL2010 vorgegebene Standardkonto (= deren Postfachkonto, so z.B. Arbeitsplatz1@meinedomain.de), klicken auf senden und gehen nach Hause.
Die Mail geht dann natürlich nicht raus.

In diesem Beitrag wurde dahingehend schon aufgezeigt wie man mittels VBA-Skript in Outlook 2010 dem User nach dem "Senden"-Drücken eine MsgBox mit JA / NEIN Auswahl vorgibt.
Diese hat folgende Funktionen (das Skript habe ich so modifziert wie es für meine Adresse nötig ist!):

Siehe hier:
Zitat von @82959:
#1: Nach dem Klicken auf "Senden" wird eine Message Box angezeigt die fragt, ob man die Funktion "Senden als" verwenden möchte.
Dies verhindert, dass das Ausfüllen des "Von"-Feldes vergessen wird. Es kann lediglich mit
JA oder NEIN geantwortet werden. Ein Abbrechen ist nicht möglich.

VBA-Skript dazu (Email-Adressen habe ich modifiziert):

Zitat von @82959:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
> On Error GoTo Err001
> 
> Dim objItem As Outlook.MailItem
> 
> If Item.Class = olMail Then
>     If MsgBox("E-Mail als 'service@meinedomain.de' versenden?", vbYesNo) = vbYes Then  
>         Set objItem = Item.Copy
>         objItem.SentOnBehalfOfName = "service@meinedomain.de"  
>         objItem.Send
>         Item.Delete
>         Cancel = True
>     End If
> End If
> 
> Exit Sub
> 
> Err001:
>  MsgBox "Ein Fehler ist beim E-Mail Versand aufgetreten!"  
> 
> End Sub

Dieses Skript habe ich für mich angepasst (d.h. die Email-Adressen geändert) und alle Möglichkeiten ausprobiert (d.h. im "Von"-Feld die verschiedenen Email-Adressen eingegeben und den Versand getestet).
Dabei habe ich folgendes Problem

Belasse ich nun im "Von"-Feld z.b. das standard-vorgegebene Konto "Arbeitsplatz1@meinedomain.de", klicke "Senden" verhält es sich wie folgt:
-bestätige ich die MsgBox mit "JA", so wird wie gewünscht "service@..." eingetragen und sie kommt auch so an
-bestätige ich die MsgBox mit "NEIN" wird "falsch" versendet, d.h. von dem standard-vorgegebenen Konto "Arbeitsplatz1@..." .
(soweit nicht anders zu erwarten...)

Ändere ich aber im "Von"-Feld die Absenderadresse auf "service@meinedomain.de" verhält es sich wie folgt:
-bestätige ich die MsgBox mit "JA", so wird wie gewünscht "service@..." eingetragen und sie kommt auch so an
-bestätige ich die MsgBox mit "NEIN" wird dennoch "service@..." eingetragen und sie kommt auch so an.

Ändere ich im "Von"-Feld die Absenderadresse auf eine der anderen Adressen wie z.B. "info@meinedomain.de" verhält es sich wie folgt:
-bestätige ich die MsgBox mit "JA", so wird die jeweils gewählte Adresse, also hier "info@..." eingetragen und sie kommt auch so an.
-bestätige ich die MsgBox mit "NEIN" wird ebenfalls die jeweils gewählte Adresse, also hier "info@..." eingetragen und sie kommt auch so an.

An dieser Stelle komme ich nicht weiter weil mir rätselhaft ist warum das Skript so agiert.
Da es mir aber nur darum geht zu verhindern dass jemand im "Von"-Feld das standard-vorgegebene "Arbeitsplatz1@..." belässt sind diese Anomalien ja nicht weiter schlimm.

Letztlich würde es mir daher also reichen wenn die MsgBox auswirft "Soll die Nachricht über service@meinedomain.de bzw. die gewählte Adresse versendet werden?" und es sich wie folgt verhält:
-bestätige ich die MsgBox mit "JA", so wird die jeweils gewählte Adresse eingetragen oder aber "Arbeitsplatz1@..." durch "service@..." ersetzt und sie kommt auch so an.
-bestätige ich die MsgBox mit "NEIN" schließt sich die MsgBox und ich kann bzw. muss die Absenderadresse definieren.

Kann mir da einer helfen?

Vielen Dank schonmal für Eure Unterstützung!
82959
82959 14.11.2011 um 17:45:52 Uhr
Goto Top
Hallo a-za-z,

das Skript agiert so, weil folgender Hintergedanke dahinter steckt:
Wenn mit JA bestätigt wird, wird die E-Mail Adresse im Von-Feld ersetzt und das E-Mail wird mit der ersetzten E-Mail Adresse versendet.
Wenn mit NEIN bestätigt wird, wird das E-Mail mit der bereits eingetragenen E-Mail Adresse im Von-Feld versendet. Es wird also nicht geändert.

Damit du dein Ziel erreichst, kann dir vielleicht folgendes helfen (nicht getestet):
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
On Error GoTo Err001

Dim objItem As Outlook.MailItem

If Item.Class = olMail Then
    If MsgBox("E-Mail als support@firma.de versenden?", vbYesNo) = vbYes Then  
        Set objItem = Item.Copy
        objItem.SentOnBehalfOfName = "support@firma.de"  
        objItem.Send
        Item.Delete
        Cancel = True
    Else
        Antwort = Inputbox("Mit welcher E-Mail Adresse soll das E-Mail versendet werden?")  
        Set objItem = Item.Copy
        objItem.SentOnBehalfOfName = Antwort
        objItem.Send
        Item.Delete
        Cancel = True
    End If
End If

Exit Sub

Err001:
 MsgBox "Ein Fehler ist beim E-Mail Versand aufgetreten!"  

End Sub

Wenn JA gewählt wird, dann wird mit der E-Mail Adresse im Skript versendet.
Wenn NEIN gewählt wird, dann wird nach der E-Mail Adresse gefragt und diese muss händisch eingetragen werden.

Wie man die E-Mail Adresse aus dem Von-Feld auslesen und dann in der MessageBox ausgeben kann, weiß ich nicht.

Lass uns wissen, wie es ausgegangen ist.

Schöne Grüße
ITinfrastruktur
a-za-z
a-za-z 14.11.2011 um 18:24:10 Uhr
Goto Top
Zitat von @82959:
Wie man die E-Mail Adresse aus dem Von-Feld auslesen und dann in der MessageBox ausgeben kann, weiß ich nicht.

So... hab es getestet, es funktioniert auch so wie Du angekündigt hast.
Allerdings kommen Klagen über die Usability, da die Abfrage ja kommt auch wenn im "von"-Feld eine Auswahl bereits getroffen wurde.
Nicht ganz unverständlich, zur Not jedoch verkraftbar.

Könnte man nicht die MsgBox so modifizieren dass verschiedene Buttons mit den verschiedenen Adressen angezeigt werden?
Oder geht das nicht mit Visual Basic?