Postfix Grundkonfiguration: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(29 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
=Vorarbeiten=
 +
*mail.itXX.int
 +
*Maschine klonen und nach Plan anpassen
  
 
=vorarbeiten=
 
=vorarbeiten=
 
*mkdir -p  /etc/skel/Maildir/{cur,new,tmp}
 
*mkdir -p  /etc/skel/Maildir/{cur,new,tmp}
 +
*echo export MAIL=\~/Maildir >> /etc/skel/.bashrc
 +
 
=installation=
 
=installation=
 
*apt install postfix dovecot-core dovecot-imapd
 
*apt install postfix dovecot-core dovecot-imapd
Zeile 48: Zeile 53:
  
 
# Hostname dieses Mailservers
 
# Hostname dieses Mailservers
myhostname = ns.it113.int
+
myhostname = mail.it113.int
  
 
# Pfad zur Aliase-Datei, die E-Mail-Aliasnamen speichert
 
# Pfad zur Aliase-Datei, die E-Mail-Aliasnamen speichert
Zeile 58: Zeile 63:
  
 
# Lokale Domains, für die dieser Server E-Mails annimmt
 
# Lokale Domains, für die dieser Server E-Mails annimmt
mydestination = $myhostname, ns.it113.int, localhost.it113.int, , localhost
+
mydestination = $myhostname, mail.it113.int, localhost.it113.int, , localhost
  
 
# Standard-Relay-Host (leer, d.h. keine Weiterleitung an einen anderen Server)
 
# Standard-Relay-Host (leer, d.h. keine Weiterleitung an einen anderen Server)
Zeile 83: Zeile 88:
 
  home_mailbox=Maildir/
 
  home_mailbox=Maildir/
 
  mailbox_command =
 
  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_location = mbox:~/mail:INBOX=/var/mail/%u
 +
mail_location = maildir:~/Maildir
 +
*systemctl restart dovecot
 +
*systemctl restart postfix
  
 
=auswahl der postfix kommandos=
 
=auswahl der postfix kommandos=
Zeile 91: Zeile 106:
 
*postfix check
 
*postfix check
 
=logging=
 
=logging=
*journalctl -fu postfix
+
*journalctl -f -u postfix@-.service
 
<pre>
 
<pre>
 
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]: Starting postfix.service - Postfix Mail Transport Agent...
Zeile 102: Zeile 117:
 
</pre>
 
</pre>
  
 +
=Wir legen 2 User an=
 +
*useradd  -m -s /bin/bash martha
 +
*useradd  -m -s /bin/bash leroy
 
=installieren von mailutis=
 
=installieren von mailutis=
*apt-get install mailutils
+
*apt install mailutils
 +
 
 +
=Erste Mail verschicken=
 +
*echo Hallo Welt  | mail martha
 +
 
 +
=Kleines Tutorial=
 +
*[[Mailutils]]
 +
 
 
=lokales lesen der mails=
 
=lokales lesen der mails=
mario@maria:~$ mail
+
*su - martha
 +
*mail
 
<pre>
 
<pre>
"/var/mail/mario": 5 messages 5 unread
+
"/home/martha/Maildir": 1 message 1 new
>U   1 technik@xinux.de  Do Dez 11 11:48  14/433  test1
+
>N   1 root              Fri Mar 14 12:32 12/402
U  2 technik@xinux.de  Do Dez 11 11:49  13/408  test1
+
 
  U  3 technik@xinux.de  Do Dez 11 13:19  13/431  Do 11. Dez 13:19:42 CET 2
+
?
U  4 technik@xinux.de  Do Dez 11 13:20  13/431  Do 11. Dez 13:20:00 CET 2
+
Return-Path: <root@mail.it113.int>
U  5 technik@xinux.de  Do Dez 11 13:20  13/431  Do 11. Dez 13:20:55 CET 2
+
X-Original-To: martha
? 5Return-Path: <technik@xinux.de>
+
Delivered-To: martha@mail.it113.int
X-Original-To: mario@maria.xinux.org
+
Received: by mail.it113.int (Postfix, from userid 0)
Delivered-To: mario@maria.xinux.org
+
id AD215E0056; Fri, 14 Mar 2025 13:32:26 +0100 (CET)
Received: from cardassia (cardassia.xinux.org [192.168.244.1])
+
To: martha@mail.it113.int
by maria.xinux.org (Postfix) with ESMTP id 3B56724046
+
User-Agent: mail (GNU Mailutils 3.15)
for <mario@maria.xinux.org>; Thu, 11 Dec 2014 13:20:55 +0100 (CET)
+
Date: Fri, 14 Mar 2025 13:32:26 +0100
From: <technik@xinux.de>
+
Message-Id: <20250314123226.AD215E0056@mail.it113.int>
To: <mario@maria.xinux.org>
+
From: root <root@mail.it113.int>
Subject: Do 11. Dez 13:20:55 CET 2014
 
Status: O
 
X-UID: 5
 
  
Do 11. Dez 13:20:55 CET 2014
+
Hallo Welt
? q
+
?  
 
</pre>
 
</pre>
 +
 
=sasl=
 
=sasl=
 
;Wir nutzen dovecot für SASL
 
;Wir nutzen dovecot für SASL
Zeile 133: Zeile 157:
 
<pre>
 
<pre>
 
service auth {
 
service auth {
      }
+
  ... 
 
   # Postfix smtp-auth
 
   # Postfix smtp-auth
 
   unix_listener /var/spool/postfix/private/auth {
 
   unix_listener /var/spool/postfix/private/auth {
Zeile 155: Zeile 179:
 
*systemctl restart postfix  
 
*systemctl restart postfix  
 
*systemctl restart dovecot
 
*systemctl restart dovecot
 +
=Test von einem anderen Client=
 +
*apt install mailutils postfix
 +
Teste ob
 +
*echo doofie | mail -s doof martha@mail.it1XX.int
 +
geht
  
=ssl=
+
Teste ob
*mkdir /etc/postfix/ssl
+
*echo doofie | mail -s doof martha@it1XX.int
*cp /root/xin-ca.crt /etc/postfix/ssl
+
geht
*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=
+
=Wir fügen die Maildomain it1XX.int hinzu=
<pre>
+
*cat /etc/postfix/main.cf
# aktiviert STARTTLS wenn Postfix Server ist:
+
mydestination = $myhostname, mail.it113.int, localhost.it113.int, it113.int, localhost
smptd_use_tls = yes
+
*postfix reload
 
+
erneut testen
# 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
 
</pre>
 

Aktuelle Version vom 19. März 2025, 10:54 Uhr

Vorarbeiten

  • mail.itXX.int
  • Maschine klonen und nach Plan anpassen

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 = mail.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, mail.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 =

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_location = mbox:~/mail:INBOX=/var/mail/%u
mail_location = maildir:~/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@-.service
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

installieren von mailutis

  • apt install mailutils

Erste Mail verschicken

  • echo Hallo Welt | mail martha

Kleines Tutorial

lokales lesen der mails

  • su - martha
  • mail
"/home/martha/Maildir": 1 message 1 new
>N   1 root               Fri Mar 14 12:32  12/402

? 
Return-Path: <root@mail.it113.int>
X-Original-To: martha
Delivered-To: martha@mail.it113.int
Received: by mail.it113.int (Postfix, from userid 0)
	id AD215E0056; Fri, 14 Mar 2025 13:32:26 +0100 (CET)
To: martha@mail.it113.int
User-Agent: mail (GNU Mailutils 3.15)
Date: Fri, 14 Mar 2025 13:32:26 +0100
Message-Id: <20250314123226.AD215E0056@mail.it113.int>
From: root <root@mail.it113.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.it1XX.int

geht

Teste ob

  • echo doofie | mail -s doof martha@it1XX.int

geht

Wir fügen die Maildomain it1XX.int hinzu

  • cat /etc/postfix/main.cf
mydestination = $myhostname, mail.it113.int, localhost.it113.int, it113.int, localhost
  • postfix reload

erneut testen