Office365 E-Mails über Linux Kommandozeile mittels postfix
Office365 E-Mails per Linux-Kommandozeile versenden: Postfix als Relay installieren, SASL-Login und sender_canonical setzen und den Mailversand testen.
Damit Du unter Linux E-Mails verschicken kannst, musst Du einen MTA (Mail Transfer Agent) installiert und konfiguriert haben. Postfix ist hier der Standard. Alternativ kannst Du auch nullmailer verwenden. ssmtp ist jedoch nicht mehr zu empfehlen.
Willst Du stattdessen ein Gmail-Konto mit Postfix verwenden, folge dieser Anleitung.
Bereite Dein Office365 Konto vor
Du benötigst als Benutzernamen deine Office365 E-Mail Adresse und als Passwort das zugehörige Passwort.
Installation von Postfix
apt update
apt install -y postfix libsasl2-modules mailutils
Wähle „No configuration“ wenn Du während des Installationsvorganges nach dem Typ der Mail Konfiguration gefragt wirst.
Kopiere die vorgeschlagene Grundkonfiguration für debian als Basis Deiner neuen Konfiguration:
cp /usr/share/postfix/main.cf.debian /etc/postfix/main.cf
Um Deine Gmail Credentials zu konfigurieren musst Du folgende Datei öffnen:
nano /etc/postfix/sasl_passwd
Füge nun Deine Daten ein (ersetzte die email durch Deine E-Mail und das Passwort durch das zugehörige Passwort):
[smtp.office365.com]:587 username@yourdomain.com:password
Bearbeite nun die leere Datei /etc/postfix/sender_canonical:
nano /etc/postfix/sender_canonical
Und paste folgenden Inhalt (ersetzte die email durch Deine E-Mail):
/.+/ username@yourdomain.com
Kompiliere nun die Passwort- und Cononicaldatei und setze die richtigen Rechte:
postmap hash:/etc/postfix/sender_canonical
postmap /etc/postfix/sasl_passwd
sudo chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
chown root:root /etc/postfix/sender_canonical /etc/postfix/sender_canonical.db
chmod 644 /etc/postfix/sender_canonical /etc/postfix/sender_canonical.db
Nun bearbeiten wir die postfix Konfiguration:
nano /etc/postfix/main.cf
Füge folgendes am Ende ein:
relayhost = [smtp.office365.com]:587
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
inet_protocols = ipv4
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
sender_canonical_maps = regexp:/etc/postfix/sender_canonical
smtp_sasl_security_options = noanonymous
smtp_tls_CApath = /etc/ssl/certs
smtpd_tls_CApath = /etc/ssl/certs
smtp_use_tls = yes
Starte Postfix neu und enable Postfix nach einem Systemstart:
systemctl restart postfix
systemctl enable postfix
Teste ob das Absenden mittels Postfix funktioniert:
echo "This email confirms that Postfix is working" | mail -s "Testing Posfix" herwart.wermescher@devlabs.at
Funktioniert der Versand, kannst Du solche Benachrichtigungen anschließend per cron automatisieren und regelmäßig verschicken lassen.
Im Fehlerfall kannst Du hiermit das Logfile ansehen. Mit -n 100 schaust Du dir nur die letzten 100 Zeilen an.
tail -n 100 /var/log/mail.log
postfix Deinstallation
Wenn Du keine mails mehr versenden willst kannst Du postfix einfach folgendermassen deinstallieren:
apt purge -y postfix mailutils
rm -rf /etc/postfix
Verwandte Beiträge
Mehr aus „Linux, DevOps & Systeme"
Docker Speicherplatz freigeben
Docker Speicherplatz freigeben: mit docker system df die Belegung sehen und mit prune ungenutzte Images, Container, Volumes, Netzwerke und Build-Cache löschen.
WeiterlesenWindows Core Prozesse verstehen
Windows Core-Prozesse verstehen: was smss.exe, csrss.exe, lsass.exe und svchost.exe wirklich tun und woran Du getarnte Malware im Prozessbaum erkennst.
WeiterlesenUbuntu LTS Release Update
Ubuntu LTS sicher aktualisieren: Snapshot bei Contabo oder Netcup anlegen, mit apt update und do-release-upgrade hochziehen und den SSH-Port bestätigen.
WeiterlesenÜber diesen Blog
Ein Sammelsurium an Denkanstößen.
Hier sammle ich Wissen, Argumente und Links zu allem, was mich beschäftigt — von Technik über Küche bis Nachhaltigkeit. Beruflich berate ich zu Cybersecurity.