Ich hatte bei einem Kunden das Problem, das dieser auf Office 365 umgestellt hat und ein altes MFP (Multifunktionsgerät) nicht mit Office 365 Exchange Online zusammenarbeiten wollte.
Deshalb entschloss ich mich dazu ein Mailrelay einzusetzen auf Postfix Basis.
Jedoch wollte ich nicht extra einen Raspberry dafür holen und auch nicht extra noch HyperV auf dem vorhandenem Server installieren.
Deshalb entschloss ich mich dazu WSL (Windows Subsystem for Linux) auszuprobieren.
Das hat wunderbar funktioniert, deshalb hier die Anleitung:
Als erstes installieren wir auf dem Server das WSL mit einer privilegierten Powershell (als Administrator starten) und geben dort folgendes ein:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Danach ist ein Neustart erforderlich.
Nun wieder in einer privilegierten Powershell die folgenden Befehle ausführen, damit Ubuntu installiert wird:
c:
cd \
Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1804 -OutFile Ubuntu.zip -UseBasicParsing
Expand-Archive ./Ubuntu.zip ./Ubuntu
$userenv = System.Environment::GetEnvironmentVariable("Path", "User")
[System.Environment]::SetEnvironmentVariable("PATH", $userenv + ";C:\Ubuntu", "User")
cd \ubuntu
.\ubuntu1804.exe
Beim ersten Aufruf wird nun das Ubuntu eingerichtet und nach einem Benutzer sowie einem Kennwort das angelegt werden soll.
Als nächstes aktualisieren wir den Server und installieren Postfix:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install postfix mailutils
Bei der Rückfragen Emailkonfiguratione wählen Sie bitte Internet Site.
Nun wird Postfix konfiguriert:
sudo nano /etc/postfix/main.cf
Löschen Sie die Zeile mit den Eintrag Relayhost und kopieren sie am Ende folgendes rein:
relayhost = [smtp.office365.com]:587
smtp_use_tls = yes
smtp_always_send_ehlo = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_tls_security_level = encrypt
smtp_generic_maps = hash:/etc/postfix/generic
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
Suchen Sie die folgende Zeile:
mynetworks = 127.0.0.0/8 inet_interfaces = loopback-only
Und ändern Sie diese wie hier ab (tragen Sie jedoch bei mynetworks ihr eigenes Netz ein):
mynetworks = 192.168.1.0/24 inet_interfaces = all
Nun müssen wir eine Anmeldedatei erstellen, mit den Zugangsdaten zu Office 365:
sudo nano /etc/postfix/sasl_passwd
Nun die Zugangsdaten für Office 365 eintragen (natürlich richtige Daten einsetzen:
[smtp.office365.com]:587 username@yourdomain:office365password
Nun noch die Rechte anpassen:
sudo chown root:root /etc/postfix/sasl_passwd sudo chmod 0600 /etc/postfix/sasl_passwd sudo postmap /etc/postfix/sasl_passwd
Jetzt noch die Adressen maskieren, da Office 365 nur die echte Emailadresse annimmt, dazu folgender Befehl:
sudo nano /etc/postfix/generic
In der Datei den folgenden Inhalt einfügen (user@domain.com durch die echte Office 365 Adresse ersetzen):
root@localdomain user@domain.com @localdomain user@domain.com
Nochmal die Rechte anpassen:
sudo chown root:root /etc/postfix/generic sudo chmod 0600 /etc/postfix/generic sudo postmap /etc/postfix/generic
Postfix neustarten:
sudo service postfix restart
Und eine Testmail senden:
echo "This is a test body" | mail -s "Relay Test Email" <externe Testadresse> -a "FROM:<office365 Adresse>"
Weitere Quellen: