Auf allen meinen Laptops schleppe ich eine Kopie des lokalen Mailservers meiner Workstation mit mir herum – inzwischen eine Mail-Sammlung die rund 7 Jahre zurück reicht und mehrere GB umfasst. Hier einige Notizen zur Installation von Dovecot und Postfix unter Arch für die ausschließlich lokale Nutzung. Sicherheit ist nur dadurch gegeben, dass dieser Mailserver von Außen nicht zu erreichen ist – auch weil noch eine Firewall die Zugriffe blockiert.
Die aktiven Zeilen in der /etc/postfix/main.cf
compatibility_level = 2 queue_directory = /var/spool/postfix command_directory = /usr/bin daemon_directory = /usr/lib/postfix/bin data_directory = /var/lib/postfix mail_owner = postfix myhostname = localhost.localdomain mydomain = localdomain myorigin = $mydomain inet_interfaces = localhost mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain unknown_local_recipient_reject_code = 550 mynetworks_style = host mynetworks = 127.0.0.0/8 alias_maps = hash:/etc/postfix/aliases alias_database = $alias_maps home_mailbox = Maildir/ smtpd_banner = $myhostname ESMTP $mail_name debug_peer_level = 2 debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5 sendmail_path = /usr/bin/sendmail newaliases_path = /usr/bin/newaliases mailq_path = /usr/bin/mailq setgid_group = postdrop html_directory = no manpage_directory = /usr/share/man inet_protocols = ipv4 smtpd_sasl_auth_enable = yes smtpd_sasl_path = private/auth broken_sasl_auth_clients = yes smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
Die aktiven Zeilen in der /etc/dovecot/dovecot.conf
ssl = no log_timestamp = "%Y-%m-%d %H:%M:%S " mail_location = maildir:~/Maildir mail_privileged_group = mail auth default { mechanisms = plain login passdb pam { } userdb passwd { } socket listen { client { # Assuming the default Postfix $queue_directory setting path = /var/spool/postfix/private/auth mode = 0660 # Assuming the default Postfix user and group user = postfix group = postfix } # deliver and some other programs need also auth-master: #master { # path = /var/run/dovecot/auth-master # mode = 0600 #} } } protocol imap { mail_plugins = $mail_plugins autocreate }
Damit die Anmeldung als lokaler Benutzer funktioniert, noch die /etc/pam.d/dovecot:
auth required pam_unix.so nullok account required pam_unix.so
Man könnte nun die Dienste jeweils aktivieren
systemctl enable dovecot.service systemctl enable postfix.service
und somit permanent auf den lokalen Mailserver zugreifen – muss man aber nicht. Da diese Konfiguration bei mir auf einem MSI Wind U 100 läuft, spare ich mir die Ressourcen lieber und starte den Mailserver per Bash-Script, wenn ich auf mein lokales Mail-Archiv wirklich zugreifen muss. So lange man den Server localhost.localdomain im Thunderbird nicht anklickt, funktioniert dieser ja auch so für alle anderen IMAP Konten – und wenn man aus Versehen doch klickt, dieser aber nicht gestartet wurde, dann motzt Thunderbird halt, dass der Server nicht zu erreichen sei.