Senden als ... (SendAs)

Microsoft Consultant Exchange & Skype for Business (m/w)
Kommen Sie zu Net at Work. Wir haben spannende Projekte bei innovativen Kunden. Unser Team arbeitet kollegial und kooperativ – ständiger Austausch und Weiterbildung sind bei uns Standard.
https://www.netatwork.de/unternehmen/karriere/

Diese beschreibt die beiden Standardoptionen, mit einen ein Benutzer eine Nachrichten sowohl "im Auftrag von" als auch als anderer Benutzer versenden kann. Dieses Thema ist wichtig, wenn Sekretariate den Postverkehr abwickeln.

Informationen über den vollen Zugriff auf ein Postfach oder alle Postfächer finden Sie auf Mailboxrechte. Lesen Sie auch die Seite Stellvertreter mit Outlook

Wenn Sie ausgehende Mails auf dem Windows SMTP-Server (oder Exchange 2000/2003 verändern möchten dann ist vielleicht auch FromModify eine Lösung.

Für Exchange 2010/2007 kann der Absender nicht per Transportregel geändert werden. Sie können einen eigenen Transportagenten schreiben oder ein kommerzielles Programm (z.B. IVAsoft ChooseFrom $$$) verwenden.

Rechte in Exchange

Achtung
Ein "Design Change" erfordert nun, das auch ein Postfachbesitzer zusätzlich explizit das Recht "SendAs" erhält. Betroffen sind folgende Versionen
Exchange Server 2003 SP1: 7233.51 und höher
Exchange Server 2003 SP2: 7650.23 und höher
Exchange 2000 Server SP3: STORE.EXE hotfixes im Feb/März 2006
Siehe auch 912918 Error message when an application tries to send a message as another User by using Exchange Server 2003: "Access denied"

Der gleiche Design Change kann dazu führen, dass EDK-Gateways nicht mehr funktionieren. Hier hilft es dem Dienstkonto explizit Vollzugriff auf das Mailgateway-Objekt zu gehen

Beachten Sie, dass Windows besondere Konten mit dem AdminSDHolder-Attribut schützt
817433 Delegated permissions are not available and inheritance is automatically disabled
232199 Description and Update of the Active Directory AdminSDHolder object'
907434 The "Send As" right is removed from a User object after you configure the "Send As" right in the Active Directory Users and Computers snap-in in Exchange Server.

2h Exchange Cache Änderungen im Active Directory wie SendAs oder FullMailboxAddress müssen erst im AD repliziert werden und dann von Exchange neu eingelesen werden. Per Default puffert Exchange frühere Antworten aber für bis zu 2 Stunden. Dies kann durch den Wert von "Mailbox Cache Age Limit" (siehe KB 326252 Exchange 2000 mailbox size limits are not enforced in a reasonable period of time; fix requires Exchange 2000 SP2" verändert werden.
Exchange 2003: http://support.microsoft.com/kb/326252
Exchange 2007: http://technet.microsoft.com/en-us/library/bb684892.aspx

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem] "Mailbox Cache Age Limit":dword=120

Default ist 120 Minuten = 2h, Restart des IS erforderlich. kleine Werte erzeugen höhere Last

Wenn Sie mit einem versteckten Postfach versenden wollen, dann kann Outlook/Exchange den Sender nicht anhand der SMTP-Adresse oder Displayname auflösen. Es funktioniert daher nur, wenn Sie den LegacyExchangeDN als Absender eintragen.
How to Grant the Send As Permission für a Mailbox
http://technet.microsoft.com/en-us/library/aa998291.aspx
"Also, before you perform this procedure, be aware that you cannot send e-mail messages on behalf of a mailbox if the mailbox is hidden from address lists."

Zwar hat jeder Exchange Anwender ein Postfach und  wenn er eine Mail versendet, dann nutzt Exchange dazu dessen primäre SMTP-Adresse als Absenderadresse. Allerdings gibt es Situationen, in denen ein anderer Absender erwünscht ist.

  • Sekretariat senden "als Chef"
    Wie oft ruft der oder die Vorgesetzte im Büro an, und bittet sein Vorzimmer schnell mal eine Nachricht zu versenden. Zwar helfen Blackberry, Exchange ActiveSync Server und Outlook Webzugriff damit jeder auch unterwegs Nachrichten senden und empfangen kann, aber das Recht als oder im Auftrag einer anderen Person zu senden, ist weiterhin erforderlich.
  • Supportmitarbeiter sendet als "Support"-Postfach
    Das ist ein weiteres Beispiel für "Senden als", damit die Antworten wieder im zentralen Postfach landen
  • Supportmitarbeiter sendet als "Support Ordner"
    Damit Antworten im öffentlicher Ordner landen und weiterhin von allen Mitgliedern der Support Gruppe gelesen werden können
  • Mitarbeiter sendet als "Verteiler
    Damit die Antworten wieder automatisch an den Verteiler gehen

Um solch ein Szenario abzudecken gibt es wieder einmal mehrere alternative Lösungswege, die alle ihre individuellen Vorteile und Nachteile haben.

  • SMTP-Umfahrung mit zweitem Profilkonto
    Wenn sie mit Outlook senden, wird der Exchange Server die SMTP-Adresse bilden. Outlook kann aber auch selbst SMTP senden und Sie können mit Outlook über den Exchange auch andere Absenderadressen verwenden. Voraussetzung ist aber die SMTP-Erreichbarkeit, was ohne VPN von unterwegs nicht immer einfach ist.
  • Outlook mit mehreren Postfächern
    Outlook kann aber selbst auch mehrere Postfächer bedienen und auch den Absender ändern. Dazu benötigen Sie aber die erforderlichen Berechtigungen

Damit Outlook als anderes Konto senden kann, müssen entsprechende Berechtigungen gepflegt werden. Dies gilt immer für die Funktion, wenn über Outlook z.B. die Absenderadresse vorgegeben wird.

Neben den Berechtigungen und dem klassischen Weg mit Outlook (siehe Outlook mit mehreren Postfächern) gibt es natürlich unterschiedliche Wege, dieses "Von-Feld" zu setzen.

Send As und Office 365

Anfange war es gar nicht möglich aber mittlerweile ist es besser. Es gibt aber noch viele Fälle, in denen SendAs nicht auf Anhieb wie erwartet funktioniert. Technisch steht "SendAs" ja in einem AD-Property und könnte durch den ADSync auch in die Cloud repliziert werden. Allerdings gibt es dort keine SIDs sondern nur UPNs und en Mapping ist nicht immer einfach. In die Gegenrichtung schreibt ADSync (Siehe ADSync Bidirektional) aber nur ganz weniger Felder. Wenn dann noch ein Benutzer auf einer Seite einem Benutzer in der anderen Welt rechte gibt wird es anstrengend. Daher habe ich eine Grundregel

SendAs am besten als Administrator in beiden Welten per PowerShell setzen.

Ansonsten gibt es hier noch ein paar Zitate

In Hybrid Umgebungen nicht unterstützte Postfachberechtigungen und-FunktionenMailbox permissions and capabilities NOT supported in hybrid environments

Senden als: ermöglicht einem Benutzer das Senden von e-Mails, als ob Sie aus dem Postfach eines anderen Benutzers stammen.Send As: Lets a user send mail as though it appears to be coming from another user's mailbox. Azure AD Connect synchronisiert die Berechtigung "Senden als" nicht automatisch zwischen lokalen Exchange-und Office 365, sodass die Berechtigungen für den standortübergreifenden senden als nicht unterstützt werden.Azure AD Connect doesn't automatically synchronize Send As permission between On-Premises Exchange and Office 365, so cross-premises Send As permissions aren't supported. Send As funktioniert jedoch in den meisten Szenarien, wenn Sie die Berechtigung "Senden als" in beiden Umgebungen manuell hinzufügen
Quelle: https://docs.microsoft.com/de-de/Exchange/permissions

Eine Aufzählung gibt es auf "Overview of delegation in an Office 365 hybrid environment https://docs.microsoft.com/en-us/exchange/troubleshoot/delegates/overview-delegation-office-365-hybrid "

  • Send as works in many scenarios, but is not fully supported by Microsoft as outlined in Permissions in Exchange hybrid deployments
  • Send As permissions enable mail to be sent from another mailbox that enabled the mail user object’s primary email address.
  • Permissions are granted by administrators by using the Exchange Admin Center or Remote PowerShell (Add-ADPermission in On-Premises Active Directory andAdd-RecipientPermission in Exchange Online).
  • Permissions must exist in the sending user’s forest. For example, if a user’s mailbox is moved to Exchange Online, the Send As permissions must be listed on the mail user object that represents the On-Premises mailbox.
  • Permissions are not synchronized by Azure AD Connect.
  • Permissions set in On-Premises AD DS must be manually added in the Exchange Online for full functionality. For more information, see Exchange hybrid deployment considerations.

Die Seite enthält noch eine Liste für "Send on Behalf"

Erwarten Sie also nicht, dass alles immer funktioniert.

SMTP-Umfahrung mit zweitem Profilkonto

Die Mitarbeiter nutzen Outlook mit ihrem eigenen primären Postfach. Um nun Mail mit einer anderen Adresse zu versenden, können Sie unabhängig von dem primären Postfach z.B. über den Internet Dienst (SMTP) Mails versenden. Dazu bindet der Anwender mehrere SMTP-Dienste zusätzlich in seinem Outlook Profil mit ein.

Im Outlook Fenster können Sie dann den Absender auswählen und senden dann mit ihrem Hauptkonto raus und für die anderen Adressen per SMTP via Exchange als Relay. Wenn Sie im POP3/SMTP-Dienst den Exchange Server als Relay eingeben und den Benutzernamen zur Authentifizierung nutzen, dann wird ihr Exchange Server die Mails auch weiter leiten.

Allerdings ist diese Lösung nicht optimal, da damit der Client abweichend konfiguriert werden muss, die Mails nicht mehr im Nachrichtentracking auftauchen, serverseitige Skripte und Verarbeitungen nicht möglich sind und vor allem viele Firmen intern SMTP einfach nicht benutzen möchten.

Zudem müssen Sie damit ihre SMTP-Server auch für Client offen halten. Das ist zwar per Default auch der Fall, aber immer mehr Firmen gehe dazu über, die Exchange Server auch von intern abzuschotten.

Outlook mit mehreren Postfächern

Daher ist eine zweite Lösung, für jeden Absender ein eigenes Postfach anzulegen. Der Benutzer hat zwar weiterhin sein eigenes primäres Postfach, aber er kann sich die anderen funktionalen Postfächer nach der Vergabe entsprechender Berechtigungen zusätzlich in Outlook einbinden oder über Einstellung als alternativer Empfänger die Mails direkt erhalten.

Wenn er dann jedoch eine Mail versenden möchte, dann kann der Anwender in Outlook einfach das "Von:"-Feld entsprechend ausfüllen. Er muss dazu nur das Feld zusätzlich einblenden.

Aber ehe er nun diese Funktion auch nutzen kann, muss er natürlich entsprechende Berechtigungen erhalten.

Es gibt noch einen weitere Möglichkeit, eine Absenderadresse zu verändern. Der Administrator kann auf dem Exchange Server über EventSinks natürlich auch die Nachrichten verändern. Allerdings muss er dazu natürlich etwas programmieren, oder ein kommerzielles Programm einsetzen. (Links am Ende)

Die folgenden Beschreibungen zeigen exemplarisch, wie einem Benutzer das Recht gegeben wird. Besonders bei der Vergabe von Rechten auf öffentliche Ordner, Funktionspostfächer, Ressourcenpostfächer und Verteiler sollten Sie aber besser eine Sicherheitsgruppe einrichten und diese berechtigen.

"Senden im Auftrag" für ein Postfach

Der erste und einfach zu vergebene Recht ist die Möglichkeit, "Im Auftrag von" zu senden. Hierzu bietet die Management Konsole für Benutzer und Computer bei jedem Benutzer ein eigenes Feld an. für das Recht "Senden im Auftrag" müssen Sie bei den Eigenschaften des Anwenders einfach den entsprechenden anderen Anwender unter "Exchange - Allgemein" in den Zustelloptionen hinzufügen.

Eine Mail die Sie in der Art dann absenden, kommt beim Empfänger wie folgt an.

Wenn Sie versuchen, im  Namen eines anderen Anwender zu senden, aber nicht das Recht haben, dann sehen Sie folgendes:

Bei Exchange 2007 werden die Rechte in der Exchange Management Shell vergeben oder per PowerShell.

Grant SendonBehalf mit Exchange 2007

 

Per PowerShell gibt es je Objekt eigene Befehle:

Set-Mailbox <mailboxname> -GrantSendOnBehalfTo DN-des-Berechtigten
Set-MailPublicFolder <foldername> -GrantSendOnBehalfTo DN-des-Berechtigten
Set-Mailcontact <contact> -GrantSendOnBehalfTo DN-des-Berechtigten
Set-DistributionGroup <Verteiler>  -GrantSendOnBehalfTo DN-des-Berechtigten
Set-DynamicDistributionGroup  <Verteiler>  -GrantSendOnBehalfTo DN-des-Berechtigten

Achtung:
"Senden im Auftrag" hat Vorrang gegenüber einem "Senden als". Vergeben Sie daher nie beide Berechtigungen.

"Senden als" ... Postfach

Wenn es nun nicht gewünscht ist, dass der Empfänger sehen kann, vom wem die Mail in wessen Auftrag gesendet wurde, sondern Sie wirklich eine Mail als der Postfachbenutzer selbst senden wollen, dann brauchen Sie ein anderes Recht. Der Administrator muss ihnen dann auf dem gewünschten Postfach das "Senden Als" Recht geben. In der MMC für Anwender und Computer muss dazu die "Erweiterte Ansicht" aktiviert werden, damit die Karteikarte "Sicherheit" sichtbar wird.

Fügen Sie hier den gewünschten Anwender hinzu und geben Sie ihm "NUR" das  Recht "Senden als". Entfernen Sie alle anderen Rechte, die die MMC dem Benutzer durch diesem Schritt noch gegeben hat.

Diese Einstellungen kann der eigentliche Besitzer des Postfachs nicht sehen oder ändern, sondern sind vom Administrator dann vorgegeben. Diese Einstellungen kann jeder Vornehmen, der Administrator über das Benutzerobjekt im Active Directory ist.

In Exchange 2007 werden die Berechtigungen ebenfalls im AD hinterlegt aber in der Exchange Management Console verwaltet.

Auch dies geht natürlich per PowerShell

Add-AdPermission "mailbox" `
   -User "domain\User" `
   -ExtendedRights "Send As"

Get-Mailbox | Add-AdPermission `
   -User "domain\User" `
   -ExtendedRights "Send As"

Der Empfänger kann dann anhand der Mail nicht mehr erkennen, ob der Absender wirklich der Absender war oder nicht doch jemand mit entsprechenden Rechten die Mail versendet hat. Allerdings gilt dies sowieso nur innerhalb der Exchange Organisation, da im Internet das Fälschen von Absendern sehr einfach ist. Siehe Gefälschter Absender.

Achtung:
Wenn Sie "Senden als" als auch "Senden im Auftrag" aktiveiren, dann hat "Senden im Auftrag" Vorrang. "Senden als" ist erst dann möglich, nachdem Sie "Senden im Auftrag" wieder entfernt haben.

Hier noch weitere Links zum Thema "Senden als Postfach":

Senden und gesendete Mail in Ordner verschieben

Achtung: Exchange 2010 SP2Rollup4 bringt eine neue Funktion mit, um dies serverseitig zu steuern.

Wenn ein Benutzer eine Mail als Funktionspostfach oder als anderer Anwender versendet, legt Outlook per Default alle gesendeten Objekte im Ordner "Sent Items" (Deutsch: Gesendete Objekte) ab. Das ist natürlich nicht geeignet, um einen zentralen Postausgang für ein Funktionspostfach zu haben. Seit Exchange 2010 SP2 Rollup4 kann dies Serverseitig vorgegeben werden:

Da der Exchange Server die Mails aus dem "Postausgang" nach erfolgreicher Übergabe an den Transport in "Gesendete Objekte" verschiebt, kann hier auch eingegriffen werden:

Set-MailboxSentItemsConfiguration `
   -Identity $_.identity  `
   -SendAsItemsCopiedTo SenderAndFrom `
   -SendOnBehalfOfItemsCopiedTo SenderAndFrom

Achtung: Exchange 2013 CU9 hat die Steuerung nach Set-Mailbox verlagert Das Commandlet "Set-MailboxSentItemsConfiguration" gibt es hier nicht mehr.

set-mailbox -identity <User> `
   -MessageCopyForSentAsEnabled $False|$true `
   -MessageCopyForSendOnBehalfEnabled $False|$true

Damit die Änderungen aber aktiv werden, müssen sie folgendes beachten:

  • MSExchangeIS bei Bedarf neu starten
    Exchange Cached bestimmte AD-Einträge und wenn Sie nicht die bis zu 2h warten wollen, bis die alten Daten aus dem Cache herausgealtert sind, müssen die den Informationsspeicher durchstarten
  • Zielorder nur Sender oder Sender+SendAs-Sender
    Sie haben nur die beiden Optionen. Sie können aber nicht als Ziel nur den Ersteller angeben. Allerdings soll diese fehlende Option mit Exchange 2010 SP3 kommen.
  • Bestehende Mailboxen
    Die Einstellung wird anscheinend nur für neue Mailboxen per Default aktiviert. für Bestandmailboxen müssen Sie die Einstellung explizit vornehmen.
  • Outlook Einstellungen gewinnen
    Wenn Sie schon vorher mit Outlook den "Move" durchgeführt haben, dann stehen diese Einstellungen im Konflikt.

Weitere Details finden Sie auch auf folgenden Seiten

Mit Exchange 2016 CU6 wurde ebenfalls wieder eine Funktion eingeführt, um die gesendeten Objekte im "ricihtigen" Ordner abzulegen:

Wenn Sie die Einstellung auf dem Server aktivieren, dann sollten Sie aber zeitgleich auf den Clients auch den Registrierungsschlüssel wieder entfernen. Ansonsten haben Sie vielleicht doppelte Mails in "Gesendete Objekte".

Wenn Sie aber nun kein Exchange 2010 haben, dann bleibt ihnen immer noch der Weg dieses "Verschieben" auf dem Client zu aktivieren. Outlook kann dies ab einer bestimmten Version selbst machen:

Durch diesen Hotfix wird erreicht, dass Outlook selbst ausgehende Mails in den "Gesendete Objekte" des Postfachs ablegt, mit welchem die Mail versendet wurde. Allerdings ist dazu noch ein Registrierungsschlüssel erforderlich

Windows Registry Editor Version 5.00

[HKEY_CURRENT_User\Software\Microsoft\Office\14.0\Outlook\Preferences]
"DelegateSentItemsStyle"=dword:1

[HKEY_CURRENT_User\Software\Microsoft\Office\12.0\Outlook\Preferences]
"DelegateSentItemsStyle"=dword:1

[HKEY_CURRENT_User\Software\Microsoft\Office\11.0\Outlook\Preferences]
"DelegateSentItemsStyle"=dword:1

Zudem müssen Sie das Postfach des delegierenden Benutzers eingebunden haben und zumindest "Reviewer" auf dem Postfach und "Autor" auf dem Ordner "gesendete Objekte" sein. (Siehe auch Berechtigungen)

Für ältere Versionen von Outlook gibt es keine Lösung, bzw. nur Drittprodukte. Denkbar Ansätze sind:

  • Outlook Formular oder Outlook AddIn
    Sie könnten das Outlook Formular so anpassen, dass die Mail dann doch zumindest als Kopie in dem anderen Postfach abgelegt werden (Ich habe leider kein fertiges Formular, sonst würde es hier zum Download stehen)
    Die Funktion kann auch eine DLL in Outlook erledigen. Eine entsprechende Software finden Sie z.B. auf http://www.ivasoft.biz/unisent.shtml (UniSent COM Add-in), http://www.lucatec.net/mask/index-en.php oder http://www.sendandmove.com/de/ oder http://www.howto-outlook.com/tag/outgoing-mail-management.
    Nachteilig ist hier, dass eine Software verteilt werden muss und nur Outlook davon profitiert. Andere Clients aber nicht.
  • Exchange 2000/2003 Store Sink
    Natürlich könnte auch ein Store Event Sink in Exchange beim Abspeichern der Nachricht gleich prüfen, ob der Absender die entsprechende Mailbox ist und die Mail bei Bedarf in das "richtige" Postfach verschieben. Knifflig wird es, wenn beide Postfächer auf unterschiedlichen Servern liegen. (Habe hierzu leider keine Links oder Beispiele)
  • Polling per Skript
    Wenn die Ablage im Absenderpostfach nicht "zeitkritisch" ist, könnte natürlich ein Skript auf dem Server z.B. jede Stunde die Ordner "gesendete Objekte" der Postfächer auf neue Elemente durchsuchen, bei denen der Absender nicht das Postfach selbst ist. Diese könnte es dann auch einfach in das "richtige" Postfach verschieben oder kopieren.
    Vorteil: keine Nutzung von Client APIs, kein Eingriff im Server
    Nachteil: Zeitabstand zwischen Versand und Kopieren
  • Trigger per Messagetracking/Transport Agent statt Polling
    Schneller würde es gehen, wenn ein Dienst einfach das Exchange Messagetracking oder per Transport Agent alle ausgehenden Mails überwacht und umgehend aktiv wird, d.h. den Kopierjob/Verschiebe-Job anstößt.
    Diese Option würde mit allen Exchange Versionen funktionieren aber mehr oder minder einen Eingriff in das Routing bedeuten.

Wenn Sie aber solche "Besonderheiten" brauchen, dann sind sie schon nahe an der Anforderung für ein Kundenmanagementsystem oder auch "Customer Relationship Management (CRM)" dran. Vielleicht sollten Sie sich nach solch einer Lösung umschauen und Outlook und Exchange nicht überstrapazieren.

Senden als ... öffentlicher Ordner

Achtung:
Es ist nicht möglich einen unzustellbarkeitsbericht (NDR) an einen öffentlichen Ordner zu senden. Insofern sollten Sie genau prüfen, ob ein Versand "als Ordner" sinnvoll ist. Siehe auch unzustellbarkeiten und PF Mail und Routing

Hier gibt es keine „gelöschte Objekte“ und auch keine „Gesendeten Objekte“. Insofern kann Outlook die Quittung nicht an ein bestehende Mail anhängen. Es würde also eine „nichtssagende“ Quittung im Ordner landen, mit der niemand was anfangen kann.

Eine andere Funktion ist es, als "öffentliche Ordner" zu senden. So kann z.B. ein öffentlicher Ordner zum Empfang von Nachrichten dienen. Das ist meist besser, als ein komplettes Postfach (mit deaktiviertem Benutzer) oder einen Verteiler für den Empfang zu verwenden. Aber wenn jemand etwas  z.B. an anfrage@firma.tld oder support@firma.tld sendet, dann sollte der Anwender bei einer Antwort natürlich auch wieder dafür sorgen, dass als Absender die gleiche Mailadresse auftaucht.

Dazu muss der Benutzer nicht nur das Recht haben, in dem Ordner die eingehenden Nachrichten zu lesen, sondern auch im Namen des Ordners zu senden. Die erforderlichen Einstellungen hierzu können Sie im Exchange System Manager vornehmen. Wenn ihre Exchange Version etwas älter ist und die Option nicht verfügbar ist, dann finden Sie weiter unten eine alternative Methode.

Die öffnen im Exchange System Manager einfach die öffentlichen Ordner und bearbeiten die Eigenschaften des gewünschten Ordners. Die Karteikarte "Exchange -Allgemein" ist natürlich nur verfügbar, wenn der Ordner auch für Mail aktiviert ist.

Unter den "Übermittlungsoptionen" können Sie dann die Einstellungen für "Im Auftrag senden" gewähren.

Wenn diese Option in ihrem Exchange System Manager noch nichts vorhanden ist, dann können Sie dennoch das Recht vergeben. Der alternative Weg nutzt die MMC für Benutzer und Computer. Dazu müssen Sie zuerst die "Erweiterte Funktionen" anschalten. für jeden mailaktivierten Ordner gibt es in der gesonderten Organisationseinheit "Microsoft Exchange System Objects" ein Objekt.

Auch hier müssen Sie alle sonstigen Rechte, die die MMC per Default einträgt, wieder entfernen.

Alternativ können Sie auch über den Exchange System Manager die Berechtigungen einstellen. Hierzu müssen Sie die Eigenschaften des Ordners bearbeiten und unter "Berechtigungen" die "Verzeichnisrechte" anwählen. Sie sehen das gleiche Fenster, wie in der MMC für Benutzer und Computer.

Es kann etwas dauern, bis diese Änderungen repliziert sind. Aber dann kann der Anwender mit der Mailadresse des öffentlichen Ordners eine Mail versenden.

Ob es auch möglich ist, ein "Im Auftrag von" einzustellen, kann ich nicht sagen. Allerdings muss der Anwender selbst daran denken, bei einer Antwort auf eine Mail die "Von"-Adresse zu ändern.

Set-MailPublicFolder <foldername> -GrantSendOnBehalfTo DN-des-Berechtigten

Senden als ... Verteiler bzw. Gruppe

Zuletzt können Sie auch einen Verteiler nutzen, um eingehende Mails an mehrere Personen zu verteilen. Und auch hier kann es erwünscht sein, bei einer Antwort oder einer neuen Mailadresse die Adresse des Verteilers als Absender zu nutzen. Und auch hier ist die MMC für Benutzer und Computer das Hilfsmittel, um den Benutzern die erforderlichen Rechte zu geben.

Wenn der Anwender dann in der VON-Adresse den Verteiler einträgt,  dann erhält der Empfänger folgende Mail:

Auch hier gibt es anscheinend kein "Im Auftrag von".

Achtung:
Wenn Sie eine Mails "als Verteiler" senden, dann erhalten die Mitglieder keine Quittungen über die Zustellung oder unzustellbarkeit, sondern nur der Besitzer des Verteilers oder der eigentliche Sender. Das Verhalten ist auf unzustellbarkeiten beschrieben

Hier dürfte einfach die Vervielfältigung das Problem sein. Ein Benutzer sendet eine Mail als Verteiler und wenn in dem Verteiler mehrere Personen enthalten sind, was der Natur eines Verteilers entspricht, dann würden alle eine Kopie der Quittung bekommen. Da die Quittung meist nur eine Teilinformation enthält, wäre das für die Empfänger nicht hilfreich.

Set-DistributionGroup <Verteiler>  -GrantSendOnBehalfTo DN-des-Berechtigten
Set-DynamicDistributionGroup  <Verteiler>  -GrantSendOnBehalfTo DN-des-Berechtigten

In Outlook 2013 ist mir das erste mal aufgefallen, dass im Posteingang vor einer Mail auch ein entsprechendes Icon erscheint

Ein Blick mit MFCMAPI hat auch gezeigt, dass das Icon auf "Distribution List" steht:

In dem Fall war dies aber eine Mail aus der Internet. Ich konnte aber noch nicht ermitteln, warum Outlook 2013 diesen Absender als "Gruppe" anzeigt.

Senden als ... Kontakt

Es ist auch möglich, einen Kontakt anzulegen, in dessen Namen man senden kann. Legen Sie den Kontakt an und geben Sie einfach dem gewünschten Benutzern das entsprechenden Recht

SendAs Kontakt

Beachten Sie aber, dass ein Kontakt auch eine Zieladresse haben muss. Denn wenn Sie eine Mail als Kontakt versenden, dann müssen Sie auch mit den Rückantworten zurecht kommen. Die Target-Address des Kontakts sollte daher auch an ein Postfach verweisen, welches Rückantworten annehmen kann, Problematisch dabei ist aber, dass ein Kontakt nie auf ein Postfach im Forest verweisen kann, sondern immer außerhalb der Exchange Organisation existieren muss. Daher ist ein Postfach der bessere Ansatz.

Set-Mailcontact <contact> -GrantSendOnBehalfTo DN-des-Berechtigten

Wenn Sie aber nicht nur "Im Auftrag von" senden wollen, sondern wirklich "als Kontakt", dann geht das auch. Die Einträge sind leider nicht per GUI erreichbar, sondern nur per PowerShell:

# Senden als Recht per PowerShell an Kontakt vergebe
Add-ADPermission `
   -Identity "Anzeigename des Kontakt" `
   -ExtendedRights Send-As `
   -User domain\User

Senden als ... Gateway

Einen eher selten betrachteten Bereich finden sie bei den EDK-Connectoren.  Diese Schnittstelle, die es bis Exchange 2003 gibt, stellt dem Gateway ebenfalls ein spezielles Postfach zur Verfügung, über welches ebenfalls Mails ausgetauscht werden. Nur finden Sie natürlich keinen Benutzer dazu im Active Directory, sondern nur das Gatewayobjekt (objectclass=mailgateway) in der Exchange-Konfiguration, welches einen HomeMTA und HomeMDB hat. Mit dem Exchange 2000/2003 Hotfix "912918 Error message when an application tries to send a message as another User by using Exchange Server 2003: "Access denied" kann es bei einigen Gateways passieren, dass diese ebenfalls keine Mails mehr zustellen können.

Den genauen Grund, warum Gateway von Hersteller A noch funktioniert während z.B. Gateways von Fenestrae und SAP Probleme damit haben, ist mir nicht genau bekannt. Ich vermute, dass es einfach zwei Optionen gibt, eine eingehende Mail in den MTA-IN-Ordner zu legen. (Vielleicht "Post" und "Send" ?)

Sollte ihr Gateway keine eingehenden Mails mehr an Exchange übermitteln, dann kann es helfen, auf dem Gatewayobjekt dem Dienstkonto ebenfalls die entsprechenden Berechtigungen zu geben. Leider geht dies nicht über den Exchange System Manager. Mit ADSIEDIT können Sie zumindest dem Dienstkonto "Vollzugiff" erteilen. Das Recht" Send-As" gibt es nur für Benutzer und Computer aber leider nicht für Objekte vom Typ "Mailgateway".

SendAs und Formulare

Wem die permanente Änderung der "Von"-Adresse zu nervig ist, kann natürlich auch ein einfaches Outlook Makro schreiben, welches sich auch auf einen Button im Menü legen lässt. Hier ein Muster:

Sub SendAsForm()
  Set objfolder = Session.GetDefaultFolder(olFolderInbox)
  Dim objitem As MailItem
  Set objitem = objfolder.Items.Add("IPM.Note")
  objitem.SentOnBehalfOfName = "/o=MSXFAQ/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=User2"
  objitem.Display
End Sub

Alternativ können Sie natürlich auch ein eigenes Formular erstellen und entweder in der globalen Bibliothek, dem Ordner oder als OFT-Datei veröffentlichen. Auch hier können Sie dann im Formularcode die Absenderaddresse hinterlegen:

Function Item_Open()
   Item.SentOnBehalfOfName = "/o=MSXFAQ/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=User2"
End Function

Function Item_BeforeCheckNames()
   Item.SentOnBehalfOfName = "/o=MSXFAQ/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=User2"
End Function

Da der Aufruf eines Formulars in Outlook über "Neu - Formular  -Formularauswählen" geht, können Sie wieder mit einem kleinen Makro dies beschleunigen und auf einen Button legen:

Sub SendAsForm()
    Set objfolder = Application.ActiveExplorer.CurrentFolder
    Set objitem = objfolder.Items.Add("IPM.Note.SendAs")
    objitem.Display
End Sub

Achtung: Beim Einsatz von Makros müssen sie sich Gedanken über die Verteilung und Sicherheit machen. Sie können natürlich stumpf die Datei VBAPROJECT.OTM in das Verzeichnis: 'C:\Documents and Settings\[UserNAME]\Application Data\Microsoft\Outlook verteilen und dabei alle bestehenden Makros überschreiben.

SendAs und versteckte Absender

Wenn Sie mit Outlook eine Mail mit einem Absender versenden wollen, der in der GAL versteckt ist, dann funktioniert das nicht so einfach. Wenn Outlook den Absender nicht finden kann, dann können Sie diesen auch nicht in das FROM-Feld eintragen. Intern schreibt Outlook hier nicht die SMTP-Adresse zu nutzen, sondern weiterhin den früheren LegacyExcahngeDN. Der Trick besteht darin, die Absenderadresse temporär sichtbar zu machen und einmal eine Mail zu senden oder den Absender in das eigene Adressbuch aufzunehmen. Dann können Sie als diese Absenderadresse senden, auch wenn das Objekt nach wieder unsichtbar gemacht wird.

Absender per Software "drehen"

Ein Weg, der fast nie beschrieben und beachtet wird, ist die Veränderung der Mail auf dem Versandwege. Es ist durchaus denkbar, dass jemand eine Mail mit Outlook verfasst und besondere Codeworte verwendet, z.B.: in der ersten Zeile der Mails oder ein verstecktes Feld beim Einsatz von unterschiedlichen Formularen.

You cannot directly change an item's From field using any programming methods in Microsoft Exchange or Outlook. If you could, mail could be sent on someone else's behalf without their permission, therefore the From field is read-only.
You can use the SentOnBehalfOfName property to set the From field, provided that you were given delegate permissions to send mail on someone else's behalf.
232309 OL2000: How to Programmatically Set a Form's From Field

Jede Mail, die Exchange verlässt muss durch den Windows SMTP-Service (bzw. den HubTransport bei Exchange 2007) bei Exchange 2000/2003 kann man über ein VBScript hier jede ausgehende Mail nach eigenen Wünschen "verändern" und entsprechend auch die Absenderadresse "drehen". (Siehe auch FromModify) Auch bei Exchange 2007 ist es relativ einfach, mit einem selbst geschriebenen Transportagenten die Mail zu verändern. Als kommerzielle Lösung ist so eine Funktion in Exclaimer2007 enthalten.

So könnte also jede Mail auch ausgehend verändert werden. Allerdings muss man hier berücksichtigen, dass digitale Signaturen natürlich defekt werden.

SMTP Feinheiten

Nun haben wir viele Aspekte und Bilder einer Mail als Stellvertreter und im Auftrag von gesehen. Da stellt sich schon einmal die Frage, sie das im nackten SMTP-Protokoll aussieht. Da gibt es nämlich mindestens drei Felder, die einen Absender beschreiben.

  • Envelope-FROM (P1)
    Diese Absenderadresse sieht nur der Mailserver und nutzt Sie z.B. zur SPF-Überprüfung
  • Header-From (P2)
    Diese Adresse wird im Mailclient als angeblicher Absender angezeigt. Sie kann aber gefälscht sein, wenn sie nicht per DKIM-Signatur verifiziert wurde.
  • Header-Sender
    Diese Feld liefert auch einen Absender, der von neueren Mailclients auch besonders angezeigt wird.

Um die Funktion etwas genauer zu testen, habe ich eine Testmail an meinen Exchange Server per TELNET gesendet:

220 ex2016.msxfaq.net Microsoft ESMTP MAIL Service ready at Thu, 24 Sep 2020 14:05:57 +0200
helo client.msxfaq.de
250 ex2016.msxfaq.net Hello [192.168.1.20]
mail from:user1@msxfaq.de
250 2.1.0 Sender OK
rcpt to:user4@msxfaq.de
250 2.1.5 Recipient OK
data
354 Start mail input; end with <CRLF>.<CRLF>
From: user2@msxfaq.de
sender:user3@msxfaq.de
to:user5@msxfaq.de
subject: test p1p2sender

test
.
250 2.6.0 Queued mail for delivery

In Outlook sah die Meldung dann etwas anders aus:

Die Informationen aus dem Envelope sind, wie erwartet, nicht mehr vorhanden. Outlook wie auch andere Clients werten nur den Envelope aus und wenn es dort ein "Sender"-Feld gibt, dann wird daraus der Absender und die Adresse aus dem "Envelope-from" wird zur "Im Auftrag von"-Adresse.

"From"-Adresse fälschen?

Da stellt sich mir doch gleich die Frage, wie Robust z.B. Exchange ist. Als "Anonymer Absender" kann ich natürlich alles an Exchange senden aber muss durch einen Spamfilter laufen. Der sollte dann doch die offensichtlichen Fälschungen unterbinden. Interessant wird es, wenn man einen authentifizierten Benutzer für Exchange hat. Leider habe ich kein fertiges Programm gefunden, welches SMTP mit STARTTLS unterstützt und mir die freie Übergabe der Envelope und Header Befehle erlaubt. OpenSSL hat ja den unschönen Ansatz ein "R" als "Renegotiate" zu interpretiere. Also habe ich mit ein PowerShell-Script gebaut, mit dem ich alles steuern kann.

Exchange Online wehrt sich hier aktiv mit einem "554 5.2.0 STOREDRV.Submission.Exception:SendAsDeniedException.MapiExceptionSendAsDenied", wenn die From-Zeile falsch ist. Es reicht ihm also nicht die "Envelope MAIL FROM" sondern wirklich die FROM-Zeile im Header.

>CONNECT to Server:Port outlook.office365.com:587
<CONNECTED  wait for prompt
<220 AM4PR0101CA0074.outlook.office365.com Microsoft ESMTP MAIL Service ready at Sat, 26 Sep 2020 23:23:37 +0000
>EHLO FC-T480S
<250-AM4PR0101CA0074.outlook.office365.com Hello [94.31.81.126]
<250-SIZE 157286400
<250-PIPELINING
<250-DSN
<250-ENHANCEDSTATUSCODES
<250-STARTTLS
<250-8BITMIME
<250-BINARYMIME
<250-CHUNKING
<250 SMTPUTF8
>STARTTLS
<220 2.0.0 SMTP server ready
>EHLO FC-T480S
250-AM4PR0101CA0074.outlook.office365.com Hello [94.31.81.126]
250-SIZE 157286400
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-AUTH LOGIN XOAUTH2
250-8BITMIME
250-BINARYMIME
250-CHUNKING
250 SMTPUTF8
>AUTH LOGIN
<334 VXNlcm5hbWU6
>SendUsername xxxxxxxxxxxxxxxxxxxxxxxxxx==
<334 UGFzc3dvcmQ6
>SendPassword xxxxxxxxxxxxxxxxxxxxxxxxx
<235 2.7.0 Authentication successful
>MAIL FROM:fcarius.admin@fcarius.onmicrosoft.com
<250 2.1.0 Sender OK
>RCPT TO:frank@carius.de
<250 2.1.5 Recipient OK
>DATA and wait x Sec
<354 Start mail input; end with <CRLF>.<CRLF>
>Start Body
>From: frank@msxfaq.de
>To: frank@carius.de
>Date: So, 27 9 20 1:23:43 +2
>Subject: SMTP-Test
>
>Test Body
>.
WARNING: Did no get 2  got 554 5.2.0 STOREDRV.Submission.Exception:SendAsDeniedException.MapiExceptionSendAsDenied; 
Failed to process message due to a permanent exception with message Cannot submit message. 
0.35250:30020000............ [Hostname=DM5PR20MB2119.namprd20.prod.outlook.com]


------ Cleaning Sockets -----
------ End ----------

Die gleicher Fehlermeldung bekommen ich aber auch mit Exchange 2016 On-Premises, wenn der authentifizierte Benutzer nicht das Recht hat (SendAs), die "Header From"-Adresse zu verwenden.

554 5.2.0 STOREDRV.Submission.Exception:SendAsDeniedException.MapiExceptionSendAsDenied; Failed to process
message due to a permanent exception with message Cannot submit message. 0.35250:15340000,

Zumindest bei der Übergabe einer Mal per SMTP an Exchange mit Authentifizierung stellen sowohl Exchange Online als auch Exchange 2016 (und sicher auch andere Versionen) sicher, dass die "Header-From"-Adresse nicht gefälscht wird.

Weitere Links

Microsoft Consultant Exchange & Skype for Business (m/w)
Kommen Sie zu Net at Work. Wir haben spannende Projekte bei innovativen Kunden. Unser Team arbeitet kollegial und kooperativ – ständiger Austausch und Weiterbildung sind bei uns Standard.
https://www.netatwork.de/unternehmen/karriere/