E-Mails an der Kommandezeile ab Exchange 2010 und in der Cloud versenden (auch Linux)

Da Exchange ab 2010 für den Standard SMTP-Connector immer TLS für Authentifizierte Verbindungen vorsieht, fallen die guten altgedienten Kommandozeilen-Tools wie Blat, smtpsend und ähnliche leider aus. Glücklicherweise gibt es ein ganz brauchbares Tool das STARTTLS beherrscht und somit diese neu entstandene Lücke im Repertoir der Batchhacker auffüllt: SendEmail.

SendEmail ist ein sehr schlanker SMTP-Mail-Client für die Kommandozeile. Es wurde entwickelt um schnell und einfach in Bash-Skripts, Batch-Dateien, Perl-Programmen und Web-Sites verwendet zu werden, ist sehr anpassungsfähig und beherrscht sowohl SSL als auch TLS. SendEmail ist ursprünglich in Perl geschrieben und einzigartig, weil es fertig gepackt daherkommt und keine externen Module benötigt. Eine ganz klare Empfehlung für Admins.

SendEmail steht unter der GNU GPL unter der Version 2 und unterstützte zahlreiche Plattformen: Linux, BSD, OS X, Windows 98, Windows NT, Windows 2000, und Windows XP.

Benutzung:

sendEmail.exe -a %1 -f %smtp_sender% -t %smtp_receiver% -m "%smtp_message%" -u "%smtp_subject%"  -s %smtp_server%:%smtp_port% -xu %smtp_username% -xp %smtp_password%

Office365 Exchange Primäre E-Mail Adresse (Absenderadresse) ändern

Die Hauptadresse ist die Standard-Absenderadresse eines Postfaches. Diese erscheiun immer wenn man aus Outlook oder der Outlook Web App eine E-Mail versendet. Leider ist das Ändern der Absenderadresse nicht im Portal möglich, hier lassen sich nur zusätzliche Adressen hinzufügen.

Lösung

  1. Eine Remote-Powershell mit dem Office 365 Exchange verbinden
  2. Das Postfach mit set-mailbox konfigurieren:
    Set-Mailbox MAILBOXNAME -EmailAddresses SMTP:[email protected],[email protected]

Wichtig:Wenn der 2. Parameter weggelassen wird, wird die SMTP-Proxyadressenliste ersetzt.

Office365 Exchange – Weiterleiten von E-Mails nur ohne Quelladresse

Der Office365 Exchange Server hat eine ärgerliche Funktionseinschränkung. Da ich jetzt schon ein paar mal über genau diese Frage gestolpert bin, sei die Sachlage nun hiermit für jeden dargelegt. Vielleicht ändert Microsft das in der nächsten Wave ja, das wäre fein.

Der Effekt ist schnell erklärt: Wenn man in Outlook eine E-Mail Weiterleitet, bleibt die Adresse des Senders erhalten:

Von: Foo Bar [mailto:[email protected]]

Wenn man genau das selbe in der Outlook WebApp tut, ist der Absender plötzlich verschwunden:

 Von: Foo Bar

Dieses Verhalten von Exchange Online ist so „korrekt“. Die offizielle Antwort (Zitat, die Fehler sind nicht von mir) des MSFT-Supports lautet (Marketing-Blasen sind durch „…“ ersetzt):

Outlook Web App […] etwas beschänkte Funktionalität im Vergleich zu Outlook […]. Deshalt […] von Dir gewünschte Funktion kann man nicht machen.

Damit ist die Exchange Online WebApp so schick die auch ist, für mich in vielen Fällen praktisch nutzlos. Ich ich leite viele E-Mails zur direkten Bearbeitung an den passenden Mitarbeiter weiter, aber wenn der neue Empfänger dem Absender nicht zurückschreiben kann, ist das natürlich sinnlos. Ich persönlich kann mit natürlich behelfen, aber ich muss gestehe von einem OutlookWebApp Client doch die Fähigkeit zur Weiterleitung einer E-Mail erwartet zu haben.

Interessanterweise ist das in Exchange 2010 an sich durchaus möglich; On-Premise Kunden haben an dieser Stelle funktional also die Nase vorn.

Limitierung der Weiterleitung von Nachrichten in Outlook-Regeln *Update

Manchmal möchte man mehrere Menschen von freudigen Ereignissen in Kenntnis setzen. In einigen Fällen sogar ganz automatisch – durch das weiterleiten einer E-Mail Nachricht. Am besten entlang einer Regel, wie zum Beispiel:

„Wenn eine E-Mail von <meiner Freundin> eintrifft und <das baby ist da> ODER <baby geboren> im Betreff enthält, diese an <Kollegen Bekannte ….> Weiterleiten“.

Das klappt in den meisten Fällen auch ganz gut. Manchmal klappt das einfach nicht und man findet den Fehler nicht. Auch Admins sind gerne Ratlos. Die Lösung liegt in diesem Artikel zu Exchange und office365. Weiterleitungen per Outlook-Regel sind generell limitiert. Natürlich wird dem Nutzer weder eine angemessene Fehlermeldung präsentiert, noch ein Eventlogeintrag erstellt oder ähnliches (hilfreiches) getan. Es passiert schlicht nichts. Danke für diesen Satz:

Die Anzahl der Adressen, an die Sie weiterleiten können, kann abhängig von den Einstellungen für Ihr Konto beschränkt sein. Wenn Sie mehr Adressen hinzufügen, als zulässig sind, funktioniert Ihre Weiterleitungsregel nicht. Wenn Sie eine Weiterleitungsregel mit mehr als einer Adresse erstellen, testen Sie die Funktionsfähigkeit der Regel.

Genau. Testen Sie die Regel lieber Anwender.

Die Antwort lautet: Dieses Limit ist generell 10, die Quelladresse mitgezählt. Warum das so ist weiss niemand und wie man das ändert auch nicht. Der passende Support-Call mit dem Office365-Support Team ist noch offen.

*Update (15. Oktober 2012)

Bezüglich Ihrer Serviceanfrage xxxxxxx möchte ich Ihnen mitteilen, dass Sie dieses Limit nicht ändern können, da dies serverseitig eingerichtet ist. Dies würde dann bedeuten, dass dies für alle Konten gilt und Auswirkungen auf die Auslastung des Servers hätte.

In Ordnung. Aber warum gibt es dann nicht wenigstens eine sinnvolle Fehlermeldung?