Postfix Grundkonfiguration: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 11: Zeile 11:
 
=/etc/postfix/main.cf=
 
=/etc/postfix/main.cf=
 
<pre>
 
<pre>
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
+
# 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
 
biff = no
 +
 +
# Das Anhängen der Domain an lokale E-Mail-Adressen ist Aufgabe des Mail-Clients (MUA)
 
append_dot_mydomain = no
 
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
 
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_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
 
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
 
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
+
smtpd_tls_security_level=may  # TLS wird unterstützt, aber nicht erzwungen
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
+
 
 +
# 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
 
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
 
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = maria.xinux.org
+
 
 +
# Hostname dieses Mailservers
 +
myhostname = ns.it113.int
 +
 
 +
# Pfad zur Aliase-Datei, die E-Mail-Aliasnamen speichert
 
alias_maps = hash:/etc/aliases
 
alias_maps = hash:/etc/aliases
 
alias_database = hash:/etc/aliases
 
alias_database = hash:/etc/aliases
 +
 +
# Ursprungsdomain für ausgehende Mails
 
myorigin = /etc/mailname
 
myorigin = /etc/mailname
mydestination = maria.xinux.org, localhost.xinux.org, , localhost
+
 
 +
# 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 =
 
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
 
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
 +
 +
# Maximale Postfachgröße (0 bedeutet unbegrenzt)
 
mailbox_size_limit = 0
 
mailbox_size_limit = 0
 +
 +
# Trennzeichen für Adressvarianten (z.B. user+info@example.com)
 
recipient_delimiter = +
 
recipient_delimiter = +
 +
 +
# Auf welchen Netzwerk-Schnittstellen Postfix lauscht (hier: alle)
 
inet_interfaces = all
 
inet_interfaces = all
inet_protocols = ipv4
+
 
 +
# Unterstützte Internetprotokolle (IPv4 und IPv6)
 +
inet_protocols = all
 +
 
 
</pre>
 
</pre>
 
==Maildirformat==
 
==Maildirformat==

Version vom 14. März 2025, 11:55 Uhr

vorarbeiten

  • mkdir -p /etc/skel/Maildir/{cur,new,tmp}

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

home_mailbox=Maildir/
mailbox_command =

auswahl der postfix kommandos

  • postfix status
  • postfix start
  • postfix stop
  • postfix reload
  • postfix check

logging

  • tail -f /var/log/mail.log
Dec 11 13:20:55 maria postfix/smtpd[7513]: connect from cardassia.xinux.org[192.168.244.1]
Dec 11 13:20:55 maria postfix/smtpd[7513]: improper command pipelining after EHLO from cardassia.xinux.org[192.168.244.1]: MAIL FROM: <technik@xinux.de>\nRCPT TO: <mario@maria.xinux.org>\nDATA\nFrom: <technik@xinux.de>\nTo: <ma
Dec 11 13:20:55 maria postfix/smtpd[7513]: 3B56724046: client=cardassia.xinux.org[192.168.244.1]
Dec 11 13:20:55 maria postfix/cleanup[7518]: 3B56724046: message-id=<>
Dec 11 13:20:55 maria postfix/qmgr[7280]: 3B56724046: from=<technik@xinux.de>, size=315, nrcpt=1 (queue active)
Dec 11 13:20:55 maria postfix/smtpd[7513]: disconnect from cardassia.xinux.org[192.168.244.1]
Dec 11 13:20:55 maria postfix/local[7519]: 3B56724046: to=<mario@maria.xinux.org>, relay=local, delay=0.14, delays=0.13/0/0/0, dsn=2.0.0, status=sent (delivered to mailbox)
Dec 11 13:20:55 maria postfix/qmgr[7280]: 3B56724046: removed

installieren von mailutis

  • apt-get install mailutils

lokales lesen der mails

mario@maria:~$ mail

"/var/mail/mario": 5 messages 5 unread
>U   1 technik@xinux.de   Do Dez 11 11:48   14/433   test1
 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
 U   5 technik@xinux.de   Do Dez 11 13:20   13/431   Do 11. Dez 13:20:55 CET 2
? 5Return-Path: <technik@xinux.de>
X-Original-To: mario@maria.xinux.org
Delivered-To: mario@maria.xinux.org
Received: from cardassia (cardassia.xinux.org [192.168.244.1])
	by maria.xinux.org (Postfix) with ESMTP id 3B56724046
	for <mario@maria.xinux.org>; Thu, 11 Dec 2014 13:20:55 +0100 (CET)
From: <technik@xinux.de>
To: <mario@maria.xinux.org>
Subject: Do 11. Dez 13:20:55 CET 2014
Status: O
X-UID: 5

Do 11. Dez 13:20:55 CET 2014
? q

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