Postfix SMTP Mail Server auf Ubuntu einrichten – E-Mails versenden | Enjyn Gruppe
Hallo Welt
Hallo Welt
Original Lingva Deutsch
Übersetzung wird vorbereitet...
Dieser Vorgang kann bis zu 60 Sekunden dauern.
Diese Seite wird erstmalig übersetzt und dann für alle Besucher gespeichert.
0%
DE Zurück zu Deutsch
Übersetzung durch Lingva Translate

303 Dokumentationen verfügbar

Wissensdatenbank

Postfix SMTP Server Einrichten Ubuntu

Zuletzt aktualisiert: 05.04.2026 um 19:42 Uhr

Postfix SMTP Mail Server auf Ubuntu einrichten – E-Mails versenden

Was ist Postfix?

Postfix ist ein moderner SMTP-Mail-Transfer-Agent (MTA) für Linux und Unix. Im Gegensatz zu älteren Tools wie Sendmail ist Postfix sicher, schnell und leicht zu konfigurieren. Postfix wird häufig auf Servern installiert, um System-Benachrichtigungen, Backup-Reports und Anwendungs-E-Mails zu versenden.

Ein MTA ist nicht die gleiche Software wie ein Mail-Server (z.B. mit POP3/IMAP). Ein MTA kümmert sich nur um das Versenden und Relay von E-Mails, nicht um Benutzer-Mailboxes. Für vollständige E-Mail-Hosting benötigen Sie zusätzlich Dovecot oder ähnliche Software.

💡 Tipp: Postfix ist perfekt für Anwendungs-Server, die E-Mails über externe SMTP-Provider (Gmail, SendGrid, Mailgun) versenden müssen. Sie brauchen keinen lokalen Mail-Server.

Anwendungsfälle

Anwendungsfall Beschreibung
System-E-Mails Cron-Jobs, Logwatch, SMART-Fehler, Monitoring-Alerts
Application Mail E-Mails von Web-Anwendungen (Passwort-Reset, Benachrichtigungen)
SMTP Relay Relay zu externem SMTP-Server (Gmail, Office365, AWS SES)
Mail Queue Lokale Mail-Queue mit Delivery-Retry
Postmaster Bounce-Nachrichten und Delivery-Reports

Installation auf Ubuntu

# Postfix installieren
sudo apt update
sudo apt install postfix -y

# Bei der Installation wird ein Setup-Dialog angezeigt:
# "Internet Site" wählen für SMTP-Relay
# Mailserver-Hostname: mail.example.com

# Postfix Service starten
sudo systemctl start postfix
sudo systemctl enable postfix

# Status überprüfen
sudo systemctl status postfix

# Version überprüfen
postconf -d | grep mail_version

Postfix als Send-Only Relay konfigurieren

Postfix wird oft konfiguriert, um E-Mails an einen externen SMTP-Server zu relayieren (z.B. Gmail, SendGrid, AWS SES).

# /etc/postfix/main.cf bearbeiten
sudo nano /etc/postfix/main.cf

# Wichtige Einstellungen hinzufügen/ändern:

# Grundkonfiguration
myhostname = mail.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = localhost
inet_protocols = ipv4

# Relay-Konfiguration
relayhost = smtp.gmail.com:587

# SASL Authentication
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_security_level = encrypt
smtp_tls_note_starttls_offer = yes

# Nur lokale Delivery
mydestination = localhost

# Keine lokalen User-Mailboxes
local_recipient_maps =

# Relativer zu Envelope-Sender
smtp_generic_maps = hash:/etc/postfix/generic

SASL Authentifizierung mit externem SMTP konfigurieren

# SASL Passwort-Datei erstellen
sudo nano /etc/postfix/sasl_passwd

# Inhalt (Gmail Beispiel):
smtp.gmail.com:587 username@gmail.com:password

# Mit SendGrid:
smtp.sendgrid.net:587 apikey:SG.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

# Mit AWS SES:
email-smtp.us-east-1.amazonaws.com:587 AKIA1234567890ABCDEF:ABCD1234567890...

# Datei-Permissions setzen
sudo chmod 600 /etc/postfix/sasl_passwd
sudo chown root:root /etc/postfix/sasl_passwd

# Hash-Datenbank erstellen
sudo postmap /etc/postfix/sasl_passwd

# Postfix Konfiguration überprüfen und neustarten
sudo postfix check
sudo systemctl restart postfix

E-Mail Test und Troubleshooting

# Test-E-Mail versenden
echo "Test Body" | mail -s "Test Subject" admin@example.com

# Mit sendmail Command
sendmail -v user@example.com < message.txt

# Mail Queue überprüfen
mailq

# Or
postqueue -p

# Mail aus Queue löschen
sudo postsuper -d ALL

# Bestimmte Mail aus Queue löschen
sudo postsuper -d 12345ABCDE

# Mail Queue flushen (Delivery versuchen)
sudo postfix flush

# Logs überprüfen
sudo tail -f /var/log/mail.log

# Spezifische User-Mail überprüfen
sudo postqueue -p | grep user@example.com

# SMTP Connection Test
telnet localhost 25
# oder mit OpenSSL
openssl s_client -connect smtp.gmail.com:587 -starttls smtp

Spam-Schutz und ACL Konfiguration

# /etc/postfix/main.cf
# Spam-Schutz für unbekannte Sender
smtpd_relay_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    defer_unauth_destination

# Reject unbekannte lokale User
local_recipient_maps = unix:passwd.byname $alias_maps

# Bounce-Benachrichtigungen deaktivieren
notify_classes = resource,software

# Rate Limiting
smtpd_client_message_rate_limit = 100

# Bounce Handling
bounce_queue_lifetime = 5d
maximal_queue_lifetime = 5d

Vergleich: Postfix vs Exim vs Sendmail

Kriterium Postfix Exim Sendmail
Komplexität Einfach Mittel Sehr komplex
Konfiguration main.cf einfach exim.conf mittelmäßig sendmail.cf sehr komplex
Performance Sehr gut Gut Gut
Speichernutzung Niedrig Mittel Mittel
Security Sehr gut Sehr gut Gut (alt)
Verbreitung Sehr weit verbreitet Weit verbreitet (Debian) Alt, weniger verbreitet
Relay-Unterstützung Ausgezeichnet Gut Gut
Learning Curve Flach Mittel Steil
⚠️ Wichtig: SASL-Passwort-Dateien sollten niemals im Plaintext liegen und mit postmap gehashed werden. Die Datei muss Permissions 0600 haben.

Weitere Ressourcen


Letzte Aktualisierung: April 2026 | Postfix 3.7+

Weitere Ressourcen

Enjix Beta

Enjyn AI Agent

Hallo 👋 Ich bin Enjix — wie kann ich dir helfen?
120