Postfix Grundkonfiguration
Version vom 14. März 2025, 12:36 Uhr von Thomas.will (Diskussion | Beiträge) (→lokales lesen der mails)
vorarbeiten
- mkdir -p /etc/skel/Maildir/{cur,new,tmp}
- echo export MAIL=\~/Maildir >> /etc/skel/.bashrc
installation
- apt install postfix dovecot-core dovecot-imapd
spätere grundkonfiguration
- dpkg-reconfigure -p low postfix
wir wählen Internet-Site
/etc/postfix/main.cf
# Siehe /usr/share/postfix/main.cf.dist für eine kommentierte, vollständigere Version
# Debian-spezifisch: Wenn ein Dateiname angegeben wird, wird die erste Zeile dieser Datei
# als Name verwendet. Der Debian-Standard ist /etc/mailname.
#myorigin = /etc/mailname
# Begrüßungsbanner für SMTP-Verbindungen
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
# Deaktiviert Biff, das sonst Benachrichtigungen über neue Mails an lokale Benutzer sendet
biff = no
# Das Anhängen der Domain an lokale E-Mail-Adressen ist Aufgabe des Mail-Clients (MUA)
append_dot_mydomain = no
# Zeit, nach der eine verzögerte Zustellwarnung gesendet wird (auskommentiert)
#delay_warning_time = 4h
# Deaktiviert das README-Verzeichnis für Benutzer
readme_directory = no
# Siehe http://www.postfix.org/COMPATIBILITY_README.html -- Standard ist 3.6 bei neuen Installationen
compatibility_level = 3.6
# TLS-Parameter (Zertifikate für verschlüsselte Verbindungen)
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_security_level=may # TLS wird unterstützt, aber nicht erzwungen
# TLS für ausgehende SMTP-Verbindungen
smtp_tls_CApath=/etc/ssl/certs
smtp_tls_security_level=may # TLS wird für ausgehende Verbindungen unterstützt, aber nicht erzwungen
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# Regeln für das Relaying (Weiterleiten) von E-Mails
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
# Hostname dieses Mailservers
myhostname = ns.it113.int
# Pfad zur Aliase-Datei, die E-Mail-Aliasnamen speichert
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
# Ursprungsdomain für ausgehende Mails
myorigin = /etc/mailname
# Lokale Domains, für die dieser Server E-Mails annimmt
mydestination = $myhostname, ns.it113.int, localhost.it113.int, , localhost
# Standard-Relay-Host (leer, d.h. keine Weiterleitung an einen anderen Server)
relayhost =
# Netzwerke, die ohne Authentifizierung E-Mails über diesen Server senden dürfen
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
# Maximale Postfachgröße (0 bedeutet unbegrenzt)
mailbox_size_limit = 0
# Trennzeichen für Adressvarianten (z.B. user+info@example.com)
recipient_delimiter = +
# Auf welchen Netzwerk-Schnittstellen Postfix lauscht (hier: alle)
inet_interfaces = all
# Unterstützte Internetprotokolle (IPv4 und IPv6)
inet_protocols = all
Maildirformat
- Wir fügen an
home_mailbox=Maildir/ mailbox_command =
auswahl der postfix kommandos
- postfix status
- postfix start
- postfix stop
- postfix reload
- postfix check
logging
- journalctl -fu postfix
Mar 14 12:51:38 ns.it113.int systemd[1]: Starting postfix.service - Postfix Mail Transport Agent... Mar 14 12:51:38 ns.it113.int systemd[1]: Finished postfix.service - Postfix Mail Transport Agent. Mar 14 12:56:38 ns.it113.int systemd[1]: postfix.service: Deactivated successfully. Mar 14 12:56:38 ns.it113.int systemd[1]: Stopped postfix.service - Postfix Mail Transport Agent. Mar 14 12:56:38 ns.it113.int systemd[1]: Stopping postfix.service - Postfix Mail Transport Agent... Mar 14 12:56:39 ns.it113.int systemd[1]: Starting postfix.service - Postfix Mail Transport Agent... Mar 14 12:56:39 ns.it113.int systemd[1]: Finished postfix.service - Postfix Mail Transport Agent.
Wir legen 2 User an
- useradd -m -s /bin/bash martha
- useradd -m -s /bin/bash leroy
Erste Mail verschicken
- echo Hallo Welt | mail martha
installieren von mailutis
- apt install mailutils
lokales lesen der mails
- su - matha
"/home/martha/Maildir": 1 message 1 new >N 1 root Fri Mar 14 12:32 12/402
sasl
- Wir nutzen dovecot für SASL
- vi /etc/dovecot/conf.d/10-master.conf
service auth {
}
# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
mode = 0660
user = postfix
group = postfix
}
...
}
- vi /etc/dovecot/conf.d/10-auth.conf
auth_mechanisms = plain login
Postfix Änderung
- vi /etc/postfix/main.cf
smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes
Dienste neustarten
- systemctl restart postfix
- systemctl restart dovecot
ssl
- mkdir /etc/postfix/ssl
- cp /root/xin-ca.crt /etc/postfix/ssl
- cp /root/xin-ca-maria.xinux.org.crt /etc/postfix/ssl
- cp /root/xin-ca-maria.xinux.org.key /etc/postfix/ssl
Nun muß TLS noch aktiviert werden. Hierzu werden folgende Einträge in der main.cf benötigt
# aktiviert STARTTLS wenn Postfix Server ist: smptd_use_tls = yes # Loggt (nicht) in den Received-Zeilen: smtpd_tls_received_header = no smtpd_tls_key_file = /etc/postfix/ssl/xin-ca-maria.xinux.org.key smtpd_tls_cert_file = /etc/postfix/ssl/xin-ca-maria.xinux.org.crt smtpd_tls_CA_file = /etc/postfix/ssl/xin-ca.crt # Aktiviert STARTTLS wenn Postfix ausliefert: smtp_use_tls = yes smtp_tls_key_file = /etc/postfix/ssl/xin-ca-maria.xinux.org.key smtp_tls_cert_file = /etc/postfix/ssl/xin-ca-maria.xinux.org.crt smtp_tls_CA_file = /etc/postfix/ssl/xin-ca.crt