Kurz möchte ich mein Ziel vermitteln und zwar möchte ich einen Mail-Server auf einem RaspberryPi betreiben, welcher nur im lokalen Netzwerk fungiert.
Bei mir haben sich einige Geräte im lokalen Netzwerk angesammelt, wie zum Beispiel mehrere NAS und mehrere RaspberryPi's welche fleißig Statusmeldungen per Mail an einen externen Email-Dienst-Anbieter senden. Per Mail-Client "Thunderbird", unter Windows betrieben, werden dann die Statusmeldungen per Mail vom externen Email-Dienst-Anbietern abgeholt. Dies erscheint mir sehr unpraktisch und auch gefährlich hinsichtlich, dass der Email-Dienst-Anbieter diese Mails zukünftig als Spam klassifizieren könnte, weil stündlich eine Mail an meine Mail-Adresse gesendet wird, weil zum Beispiel mein Temperatursensor ungültige Werte liefert.
Somit erscheint mir ein Mail-Server welcher nur im lokalen Netzwerk arbeite sehr sinnvoll. Der Mailverkehr soll nur in eine Richtung arbeiten, vom "IT-Gerät" hin zum lokalen Mail-Server mit anschließender Abholung der Mails vom Mail-Server durch den Mail-Client "Thunderbird". Denn ich Erachte es nicht für notwendig auf eine Mail von meine NAS mit Weihnachtsgrüßen zu antworten, wenn mir diese einen zukünftigen Festplattenausfall ankündigt.
Um mein Vorhaben in die Praxis umzusetzen und nach meiner Recherche ist es offensichtlich notwendig einen SMTP-Server aufzusetzen, welcher als Empfänger der Status-Mails im lokalem Netzt dient und einen IMAP- oder POP3-Server zu implementieren, welcher die eMails zur Abholung für meinen Mail-Client "Thunderbird" bereitstellt.
Als SMTP-Server habe ich mich für "Postfix" entschieden und für den IMAP- oder POP3-Server für "Dovecot".
Beide Dienste wurden auf einem Raspi 3B (bullseye) [192.168.178.80], ich nenne diesen einfachhalber "Mail-Server", installiert. Auf einen weiteren Raspi 3B (buster), ich nenne diesen einfachhalber "Mail-Sender", versende ich wie oben beschrieben seit einiger Zeit Status-Mails per "msmtp" über einen externen Email-Dienst-Anbieter erfolgreich.
Schon der Versuch eine Mail vom Raspi "Mail-Sender" per msmtp an den Raspi "Mail-Server" zu versenden endete in der folgenden Fehlermeldung:
pi@RPI-Test:~ $ cat /home/pi/test.txt |/usr/bin/msmtp anony.mous@privat.de
msmtp: TLS-Zertifikatsüberprüfung ist fehlgschlagen: The certificate is NOT trusted. The certificate issuer is unknown.
msmtp: Mail konnte nicht verschickt werden (Konto default aus /home/pi/.msmtprc)
Ja, die Fehlermeldung beinhaltet im Original den Rechtschreibfehler "fehlgschlagen".
Ich habe schon unzählige Stunden an Internetrecherchen und Konfigurations-Varianten verbraucht, leider konnte ich keine Lösung für mein Problem finden. Zumal die meisten Anleitungen oft nicht für den Mail-Verkehr innerhalb eines lokalen Netzwerkes beschreiben.
Wie und auf welchem Raspi muss ich ein gültiges TLS-Zertifikat erzeugen oder kann ich die Verschlüsselung in einem lokalen Netzwerk eventuell deaktivieren, aber wie?
Auch las ich einiges über "SMTP-fingerpint-Zertifikate", aber darüber fand ich noch wenigere Informationen um die Konfigurationen hierfür anzupassen und auch auf welchem System dieses "fingerpint-Zertifikat" erzeugt werden müssen.
Meine Konfigurations-Dateien sind im Moment wie folgt:
Raspi "Mail-Server" - Postfix - /etc/postfix/main.cf
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
readme_directory = no
# See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on
# fresh installs.
compatibility_level = 2
# TLS parameters
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
smtp_tls_CApath=/etc/ssl/certs
smtp_tls_security_level=may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = RPI-Luftfeuchte
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = RPI-Luftfeuchte, RPI-Luftfeuchte, localhost.localdomain, privat.de, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
default_transport = smtp
relay_transport = smtp
Display More
Raspi "Mail-Sender" - msmtprc - /home/pi/.msmtprc
# Set default values for all following accounts.
defaults
# Use the mail submission port 587 instead of the SMTP port 25.
port 25
# Always use TLS.
tls on
# Set a list of trusted CAs for TLS. The default is to use system settings, but
# you can select your own file.
tls_trust_file /etc/ssl/certs/ca-certificates.crt
# Mail account
account anony.mous@privat.de
# Host name of the SMTP server
host 192.168.178.80
# Envelope-from address
from rasp.berry@mail.de
# Authentication. The password is given using one of five methods, see below.
auth on
# Use your own user name fpr the mail account
user anony.mous
# loginpassword
password [mein password]
# Set a default account
account default: anony.mous@privat.de
# Map local users to mail addresses (for crontab)
aliases /etc/aliases
Display More
Ich bin auch für andere Lösungen offen, um Mails im lokalen Netz zu versenden, jedoch möchte ich wenn möglich den Mailversand per "msmtp" beibehalten und die Abholung der Mails mit dem Mail-Client "Thunderbird" aufrecht halten.