Server:Postfix

Aus ahrensburg.city
Version vom 1. August 2025, 12:29 Uhr von Thorsten (Diskussion | Beiträge) (// via Wikitext Extension for VSCode)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Postfix Installation auf Ubuntu mit Let's Encrypt SSL

Voraussetzungen

  • Ubuntu Server (20.04 LTS oder neuer)
  • Root- oder sudo-Zugriff
  • Öffentliche Domain mit DNS-Eintrag auf Server-IP
  • Ports 25, 587, 465 in Firewall geöffnet

Schritt 1: System aktualisieren

sudo apt update
sudo apt upgrade -y

Schritt 2: Postfix installieren

sudo apt install postfix -y

Bei der Installation wählen:

  • General type: Internet Site
  • System mail name: ihre-domain.de

Schritt 3: Postfix Grundkonfiguration

sudo nano /etc/postfix/main.cf

Wichtige Einstellungen anpassen:

myhostname = mail.ihre-domain.de
mydomain = ihre-domain.de
myorigin = $mydomain
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
home_mailbox = Maildir/

Schritt 4: Certbot für Let's Encrypt installieren

sudo apt install certbot -y

Schritt 5: SSL-Zertifikat erstellen

sudo certbot certonly --standalone -d mail.ihre-domain.de

E-Mail-Adresse eingeben und Bedingungen akzeptieren.

Schritt 6: Postfix für SSL konfigurieren

sudo nano /etc/postfix/main.cf

SSL-Einstellungen hinzufügen:

# TLS parameters
smtpd_tls_cert_file=/etc/letsencrypt/live/mail.ihre-domain.de/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/mail.ihre-domain.de/privkey.pem
smtpd_use_tls=yes
smtpd_tls_security_level=may
smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtp_tls_security_level=may
smtp_tls_note_starttls_offer=yes

Schritt 7: Submission Port aktivieren

sudo nano /etc/postfix/master.cf

Folgende Zeilen auskommentieren/hinzufügen:

submission inet n       -       y       -       -       smtpd
    -o syslog_name=postfix/submission
    -o smtpd_tls_security_level=encrypt
    -o smtpd_sasl_auth_enable=yes
    -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject

Schritt 8: Postfix neu starten

sudo systemctl restart postfix
sudo systemctl enable postfix

Schritt 9: Automatische Zertifikatserneuerung

sudo crontab -e

Hinzufügen:

0 2 * * * /usr/bin/certbot renew --quiet --post-hook "systemctl reload postfix"

Testen

# Postfix Status prüfen
sudo systemctl status postfix

# SSL-Verbindung testen
openssl s_client -connect mail.ihre-domain.de:587 -starttls smtp


Test-Mail senden

Mit dem folgenden Befehl kann eine Test-Mail über die Kommandozeile versendet werden:

echo "Dies ist eine Test-Mail von Postfix." | mail -s "Postfix Test" empfaenger@beispiel.de

Falls das Paket mailutils noch nicht installiert ist:

sudo apt install mailutils -y