Postfix Grundkonfiguration: Unterschied zwischen den Versionen
| (7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 17: | Zeile 17: | ||
*apt update | *apt update | ||
*apt install postfix dovecot-core dovecot-imapd | *apt install postfix dovecot-core dovecot-imapd | ||
| + | '''wir wählen Internet-Site''' | ||
=spätere grundkonfiguration= | =spätere grundkonfiguration= | ||
| Zeile 94: | Zeile 95: | ||
==Maildirformat== | ==Maildirformat== | ||
;Wir fügen an | ;Wir fügen an | ||
| − | home_mailbox=Maildir/ | + | home_mailbox = Maildir/ |
mailbox_command = | mailbox_command = | ||
| + | |||
==Dovecot== | ==Dovecot== | ||
Wir müssen auch Dovecot sagen wo die Mails liegen. | Wir müssen auch Dovecot sagen wo die Mails liegen. | ||
| Zeile 102: | Zeile 104: | ||
*vi /etc/dovecot/conf.d/10-mail.conf | *vi /etc/dovecot/conf.d/10-mail.conf | ||
| − | + | mail_driver = maildir | |
| − | + | mail_home = /home/%{user | username} | |
| + | mail_path = %{home}/Maildir | ||
*systemctl restart dovecot | *systemctl restart dovecot | ||
*systemctl restart postfix | *systemctl restart postfix | ||
| Zeile 114: | Zeile 117: | ||
*postfix check | *postfix check | ||
=logging= | =logging= | ||
| − | *journalctl -f -u postfix | + | *journalctl -f -u postfix |
<pre> | <pre> | ||
Mar 14 12:51:38 ns.it213.int systemd[1]: Starting postfix.service - Postfix Mail Transport Agent... | Mar 14 12:51:38 ns.it213.int systemd[1]: Starting postfix.service - Postfix Mail Transport Agent... | ||
| Zeile 130: | Zeile 133: | ||
=installieren von mailutis= | =installieren von mailutis= | ||
*apt install mailutils | *apt install mailutils | ||
| + | |||
| + | =Zweites Terminal auf mail öffnen= | ||
| + | *sudo -i | ||
| + | *journalctl -fu postfix | ||
=Erste Mail verschicken= | =Erste Mail verschicken= | ||
| Zeile 190: | Zeile 197: | ||
*apt install mailutils postfix | *apt install mailutils postfix | ||
Teste ob | Teste ob | ||
| − | *echo doofie | mail -s doof martha@mail. | + | *echo doofie | mail -s doof martha@mail.it2XX.int |
geht | geht | ||
Teste ob | Teste ob | ||
| − | *echo doofie | mail -s doof martha@ | + | *echo doofie | mail -s doof martha@it2XX.int |
geht | geht | ||
| Zeile 201: | Zeile 208: | ||
mydestination = $myhostname, mail.it213.int, localhost.it213.int, it213.int, localhost | mydestination = $myhostname, mail.it213.int, localhost.it213.int, it213.int, localhost | ||
*postfix reload | *postfix reload | ||
| − | erneut testen | + | erneut testen |
| − | |||
~ | ~ | ||
~ | ~ | ||
Aktuelle Version vom 19. März 2026, 09:07 Uhr
Vorarbeiten
- mail.itXX.int
- Maschine klonen und nach Plan anpassen
vorarbeiten
- Für den Kit User
- su - kit
- mkdir -p ~/Maildir/{cur,new,tmp}
- echo export MAIL=\~/Maildir >> ~/.bashrc
Ab hier arbeiten wir als root
- sudo -i
- Für alle neuen Benutzer
- mkdir -p /etc/skel/Maildir/{cur,new,tmp}
- echo export MAIL=\~/Maildir >> /etc/skel/.bashrc
installation
- apt update
- apt install postfix dovecot-core dovecot-imapd
wir wählen Internet-Site
spätere grundkonfiguration
- Jetzt nicht notwendig
- dpkg-reconfigure -p low postfix
/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 = mail.it213.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, mail.it213.int, localhost.it213.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 =
Dovecot
Wir müssen auch Dovecot sagen wo die Mails liegen.
Dazu ändern wie in wenig die Konfiguration
- vi /etc/dovecot/conf.d/10-mail.conf
mail_driver = maildir
mail_home = /home/%{user | username}
mail_path = %{home}/Maildir
- systemctl restart dovecot
- systemctl restart postfix
auswahl der postfix kommandos
- postfix status
- postfix start
- postfix stop
- postfix reload
- postfix check
logging
- journalctl -f -u postfix
Mar 14 12:51:38 ns.it213.int systemd[1]: Starting postfix.service - Postfix Mail Transport Agent... Mar 14 12:51:38 ns.it213.int systemd[1]: Finished postfix.service - Postfix Mail Transport Agent. Mar 14 12:56:38 ns.it213.int systemd[1]: postfix.service: Deactivated successfully. Mar 14 12:56:38 ns.it213.int systemd[1]: Stopped postfix.service - Postfix Mail Transport Agent. Mar 14 12:56:38 ns.it213.int systemd[1]: Stopping postfix.service - Postfix Mail Transport Agent... Mar 14 12:56:39 ns.it213.int systemd[1]: Starting postfix.service - Postfix Mail Transport Agent... Mar 14 12:56:39 ns.it213.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
installieren von mailutis
- apt install mailutils
Zweites Terminal auf mail öffnen
- sudo -i
- journalctl -fu postfix
Erste Mail verschicken
- echo Hallo Welt | mail martha
Kleines Tutorial
lokales lesen der mails
- su - martha
"/home/martha/Maildir": 1 message 1 new
>N 1 root Fri Mar 14 12:32 12/402
?
Return-Path: <root@mail.it213.int>
X-Original-To: martha
Delivered-To: martha@mail.it213.int
Received: by mail.it213.int (Postfix, from userid 0)
id AD215E0056; Fri, 14 Mar 2025 13:32:26 +0100 (CET)
To: martha@mail.it213.int
User-Agent: mail (GNU Mailutils 3.15)
Date: Fri, 14 Mar 2025 13:32:26 +0100
Message-Id: <20250314123226.AD215E0056@mail.it213.int>
From: root <root@mail.it213.int>
Hallo Welt
?
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
Test von einem anderen Client
- apt install mailutils postfix
Teste ob
- echo doofie | mail -s doof martha@mail.it2XX.int
geht
Teste ob
- echo doofie | mail -s doof martha@it2XX.int
geht
Wir fügen die Maildomain it1XX.int hinzu
- cat /etc/postfix/main.cf
mydestination = $myhostname, mail.it213.int, localhost.it213.int, it213.int, localhost
- postfix reload
erneut testen ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~