Ein eigener Mailserver - wie geht das?

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo Thomas,

    der Abruf der emails vom Provider klappt . :):danke_ATDE:

    Es werden aber nur die emails des Posteingangs übertragen. Wie kann man auch die gesendeten emails abrufen, das müßte doch auch möglich sein.:denker:

    Gruß

    hdkirschbaum

  • Sorry, das kann ich leider auch nicht beantworten. Ich würde mich niemals an unbekannten offenen WLAN-Accesspoints bei einem Online-Mailer anmelden. Insofern stellt sich dieses Problem hier nicht, weil ich generell nur über den eigenen Mailserver sende, von unterwegs halt via OpenVPN verbunden. :no_sad:

  • Hallo Thomas,

    ich habe ein schlechtes Gewissen, daß ich mich wieder an Dich wenden muß.

    Der Download der emails auf den Mailserver klappt, ich kann sogar auch über openvpn auf den mailserver zugreifen.

    Was nicht klappt ist das Versenden. Bei Thunderbird bekomme ich keine Fehlermeldung. Emails kommen jedoch nicht an.

    Mir journalctl -f wird jedoch folgendes angezeigt. (Auszug)

    Was mich zunächst wundert:

    • unknown client.==> Thunderbird ist auf 192.168.1.100 und der Mailserver auf 192.168.1.101. Beide Rechner befinden sich hinnter einer Firewall "Opnsense"
    • Smtp relayhost ist smtp.ionos.de ; da klappt nicht die Anmeldung.
    • In "get_sender_relayhost" ist entsprechend der Vorlage folgendes eingetragen:
    Code
    # Per-sender provider; see also /etc/postfix/get_relayhost_passwd
    #================================================================
    
    root@mail            smtp.ionos.de
    cherry_kir@mail        smtp.ionos.de 
    cherry_gmx@mail        mail.gmx.net
    
    gemeinschaft@mail    smtp.ionos.de    

    Denke das ist ok.

    IONOS zeigt in folgender Website wie man Postfix für IONOS einrichten sollte:

    https://www.ionos.de/hilfe/e-mail/w…nux-einrichten/

    Hier erfolgen Eingriffe in die main.cf und ich bin unsicher, da etwas zu änderm. Vielleicht kannst du mir einen Tip geben, wie deine Konfiguration von main.cf ggf. angepasst werden kann.

    Habe lange gegoogelt, bin frustriert.

    Gruß

  • Ich habe keine Ahnung.... die Fehlermeldungen sind eindeutig.... aber die Ursache.... :conf: ... also bleibt nur das systematisch zu untersuchen, an welcher Stelle das Problem besteht.

    • Alle Firewalls ausschalten
    • Wenn Getmail (pop3) klappt, sind dort die Anmeldedaten korrekt, die Anmeldung klappt also grundsätzlich... deshalb sehr gewissenhaft die Inhalte der Dateien /etc/postfix/get_relayhost_passwd, /etc/postfix/check_generic_replace_from und /etc/postfix/get_sender_relayhost vergleichen / kontrollieren.
    • Wurden die 3 Files nach der letzten Änderung neu 'kompiliert' ... in das Postfix-db.format?
    • cyrus ist installiert?
    Code
    # dpkg -l | grep -i cyrus
    ii  libsasl2-2:amd64            2.1.27+dfsg-1+deb10u1   amd64   Cyrus SASL - authentication abstraction library
    ii  libsasl2-modules:amd64      2.1.27+dfsg-1+deb10u1   amd64   Cyrus SASL - pluggable authentication modules
    ii  libsasl2-modules-db:amd64   2.1.27+dfsg-1+deb10u1   amd64   Cyrus SASL - pluggable authentication modules (DB)

    unknown client

    Ist bedeutungslos, unkown steht dafür, weil postfix der Hostname des Clients nicht bekannt ist.... wichtig ist aber die IP-Adresse.

  • Hallo Thomas,

    es ist viel Zeit vergangen. Nach meinem Urlaub habe ich mich noch einmal mit dem Mailserver beschäftigt.

    Zunächst habe ich meine Firewall so eingerichtete, daß der Mailserver erreicht werden konnte. Habe dann mehrere Tests durchgeführt, muste in der postfix/master noch etwas ergänzen. Schluß endlich---------Es läuft alles.:bravo2:

    Nochmals vielen, vielen Dank für deine unermüdliche Hilfe.

    :danke_ATDE::danke_ATDE::danke_ATDE:

    Wenn es Dich interessiert, kann ich Dir meine main.cf und maste c.f mal zuschicken

  • Moin moin,

    und erst mal den größten Respekt und vielen Dank für die tolle Doku!

    Das Konzept entspricht auch zu 99% meinen Vorstellungen, weswegen ich mit mich dem Thema auseinander gesetzt habe.

    Das restliche 1% ist wieder sehr speziell und noch nicht komplett durchdacht, auch muss ich noch einige Anpassungen in den Dateien dazu testen.

    Im 3. oder 4. Versuch lief der Mailserver dann bei mir auch, die Fehlversuche lagen natürlich immer vor dem Bildschirm :blush:.

    So ganz bin ich noch nicht durch mit den Tests (meine Himbeere kommt erst heute 8)),

    Vorerst habe ich alles auf einer Debian VM installiert, da waren dann die Snapshots auch hilfreich.

    Eine Frage habe ich aber, die ich weder hier im Thread noch aus der Doku her beantworten kann:

    Was ist, wenn man bei diesem Konzept Zugriff auf eine "seriöse" Mail benötigt, die man aber schon zu Hause per Pop3 abgerufen hat?

    Einen VPN Zugang ins heimische Netz ist kein Problem, den habe ich.

    Aber um an den TB Client (bzw. die Mail) zu gelangen, bräuchte ich dann entweder:

    a) einen Windoof PC mit dem ich per RDP auf den Client-Rechner zugreifen kann oder

    b) eine passende App auf dem Smartphone, die den RDP Zugriff auf den Client-Rechner ermöglicht.

    c) wenn man vorher weiß (unwahrscheinlich), daß man die Mail unterwegs benötigt könnte man die noch mal in ein "fake" Postfach weiterleiten (also das, was man eigentlich genau nicht will :P)

    Wie hast Du (Thomas) oder Ihr (alle anderen) das gelöst?

    Oder übersehe ich hier schlicht eine andere Möglichkeit :/?

    Gruss

    Edit: dann antworte ich mir selbst :D.

    Wie steht hier im Thread schon mal: die Augen sehen es, aber der Verstand nimmt es nicht wahr :S.

    Die Nachrichten liegen ja nicht auf dem Client sondern auf dem Pi. Also auf den Androiden noch ein Konto mit manueller Synchronisation eingerichtet, das über VPN dann Zugriff hat.

    Es kann manchmal doch so einfach sein... :wallbash::P.

    4 Mal editiert, zuletzt von FSC830 (8. Dezember 2020 um 00:00)

  • Hallo,

    ich bin neu hier und versuche mich gerade an der Einrichtung von "Toms Mailserver" auf meinem raspberry pi. dovecot und postfix sind konfiguriert, getmail usw. fehlt noch und das werde ich an den nächsten Abenden Stück für Stück angehen.

    Womit ich hadere, ist die Namensauflösung beim Zugriff durch den Client. Ich habe es mit den Einträgen in der Doku für /etc/hosts probiert und auch mit dieser Variante hier:
    127.0.0.1 localhost

    ::1 localhost ip6-localhost ip6-loopback

    ff02::1 ip6-allnodes

    ff02::2 ip6-allrouters

    127.0.1.1 raspberrypi

    127.0.1.1 mail

    Beim Aufsetzen des raspberrypi wurden die ipv6-Einträge automatisch erstellt, ich habe sie so gelassen.

    Ich würde gern den Mailserver über den Namen "mail" erreichen, das scheitert jedoch - "mail" ist im Heimnetz nicht bekannt, auch nicht mail.meinedomain.de.
    Error: Couldn't resolve host "mail"

    Was funktioniert:
    ping raspberrypi.meinedomain.de

    ping raspberrypi

    ping mail.meinedomain.de

    nc -vT raspberrypi 25

    Was aber nicht geht ("Name nicht bekannt" oder einfach Hänger):

    ping mail

    telnet mail 25

    nc -vT mail.meinedomain.de

    nc -vT raspberrypi.meinedomain.de

    Was muss ich hier wie umkonfigurieren (soweit das überhaupt geht was ich will - ein Rechner mit einer IP-Adresse und 2 Namen), damit ich den Mailserver auch als "mail" erreiche? Ist nur eine Schönheitsfrage; wenn ich als Server "raspberrypi" in Thunderbird eintrage, habe ich Zugriff.

  • Irgendwie blicke ich das nicht. Wenn ich hostnamectl richtig interpretiere, kann ich damit den Hostnamen ändern. Will ich aber nicht, ich will einen weiteren hinzufügen (aktuell: raspberrypi, zusätzlich: mail). Seite 27 in der Doku V_4_2_4 habe ich gelesen und das so gemacht - mit dem oben beschriebenen Ergebnis.

    Oder könnte ich - habe es noch nicht versucht - mit hostnamectl --pretty den Namen "mail" hinzufügen?

  • Ich hatte die Doku so verstanden, dass der Rechner dort raspi3 heißt (bei mir raspberrypi), aber z. B. in Thunderbird als Server "mail" eingetragen wird. Ah, ich sehe gerade, dass ich folgenden Hinweis auf Seite 60 der Doku wohl überlesen habe:

    Achtung: Ich habe hier an dieser Stelle

    „mail“ als Server-Name eingetragen, obwohl

    ich weiter oben „raspi3“ als Hostname des

    Servers verwende. Das funktioniert bei mir

    deshalb, weil ich zusätzlich einen eigenen

    DNS-Server verwende und dort der Name

    „mail“ auf die IP-Adresse des Servers verweist,

    dessen Hostname „raspi3“ ist.

    Da ich keinen eigenen DNS-Server betreibe, muss ich also beim "raspberrypi" als Eintrag in TB bleiben.
    Und ja, ich hatte den raspi neu gestartet.

    Ich war hauptsächlich verwirrt, weil ich "mail" mit ping erreichen konnte, aber nicht mit telnet über Port 25.

  • Auch von mir herzlichen Dank für die Doku!

    Ein paar Fragen habe ich noch zur Einrichtung von Thunderbird:
    Ich musste für smtp Port 25 mit STARTTLS eintragen. Port 587 will der raspi nicht. Soll das / muss das so sein oder sollte ich da noch eine (welche) Konfiguration ändern?

    Thunderbird mault auch immer, wenn ich als Mailadresse "dieter_xxx@mail" eintrage. Da muss man wohl die Warnung einfach ignorieren.

    Dann habe ich angefangen, Ordner aus meiner bisherigen Mail-Installation (lokaler dovecot und postfix auf dem Client) auf die Mailsever-Accounts auf dem raspi zu verschieben. Dabei kam es mehrfach zu Warnungen wegen falscher oder fehlender Berechtigungen, die kurz auftauchten und wieder verschwanden, insbesondere beim "family"-Ordner.
    Hässlich ist auch, einen Ordner mit Punkt im Namen zu verschieben: Daraus wird ein Ordner mit Unterordner, bevor das Verschieben abbricht ...

    Vorschlag für die Doku: Der User vmail sollte mit Home-Verzeichnis ( "-m") angelegt werden
    # useradd -m -u 5000 vmail
    auf Seite 15, sonst kommen diese Fehlermeldungen im Log:

    Code
    Mar 03 21:01:10 raspberrypi systemd[11150]: pam_unix(systemd-user:session): session opened for user vmail by (uid=0)
    Mar 03 21:01:10 raspberrypi systemd[11150]: gpgconf: running /usr/bin/gpg-agent failed (exitcode=2): General error
    Mar 03 21:01:10 raspberrypi systemd[11150]: gpgconf: fatal error (exit status 1)

    ich scheine noch irgendein Berechtigungsproblem bei Sieve zu haben. Entweder fehlt da Irgendwo noch die vmail-Gruppe oder ein das "x" bei einem Verzeichnis.

    Wo muss ich da suchen?

    Einmal editiert, zuletzt von Taunusblick (7. März 2021 um 22:56)

  • Bei mir geht SSL mit den Ports 993 (IMAP) und 465 (SMTP), warum soll das bei Dir nicht gehen?

    Welche Einträge hast Du z.B. in der /etc/postfix/main.cf (Zeilen, wie Hostname oder mydomain kannst Du anonymisoeren).

    Dasgleiche für /etc/dovecot/dovecor.conf und /etc/dovecot/dovecot.conf10-ssl.conf.

    Richtig, der Username @mail gefällt Thunderbird nicht, macht aber nichts ;) .

    In welchem Log taucht das Problem mit vmail auf? Bei mir habe ich nichts gefunden und ich hatte auch noch nie Probleme, da man sich mit den user vmail eigentlich nicht anmeldet!?

    Die Meldungen mit gpgconf kommen m.E. unabhängig vom User vmail, die sehe ich bei mir auch,

    Die haben aber m.E nichts mit einem fehlenden home Directory zu tun, wenn Du die Meldung über eine Suchmaschine Deiner Wahl eingibst, erhältst Du mehr Infos darüber.

    Verschieben von Mails habe ich bei mir über den Client (Thunderbird) gemacht, von xx Inbox nach yy Inbox, da gab es auch keine Probleme.

    Zu Sieve: bist Du sicher, das Du die Struktur und die Berechtigungen wie in der Doku auch vorgenommen hast?

    Das läuft bei mir ebenfalls ohne Probleme.

    Fazit: wenn man die Doku wirklich 1:1 abarbeitet (User, Konten und Ordnernamen natürlich individuell angepasst), dann funktioniert es exakt wie gewünscht.

    Gruss

    Einmal editiert, zuletzt von FSC830 (9. März 2021 um 00:08)

  • ich sortiere mal meine Fragensammlung:

    a) Ports
    Vielleicht ein Missverständnis (SSL); ich muss in Thunderbird bei smtp Port 25 und STARTTLS für die Verbindung zum raspi eintragen. Default-Port wäre meines Wissens nach 587 für smtp mit STARTTLS, den mag der raspi mit dem Mailserver aber nicht:

    Code
    nc -vT raspberrypi 25
    raspberrypi [192.168.178.50] 25 (smtp) open
    220 mail.meinedomain.de ESMTP Postfix
    
    nc -vT raspberrypi 587
    raspberrypi [192.168.178.50] 587 (submission): Verbindungsaufbau abgelehnt

    /etc/postfix/main.cf, bis auf persönliche Daten und anderes lokales Netzwerk sollte das Standard aus dem Tarball sein:

    b) Die vmail-Fehlermeldung erscheint im Systemlog (journalctl). Der gpg-agent sucht nach /home/vmail/.gnupg und findet die Datei nicht. Nach Anlegen des Home-Verzeichnisses für vmail ist die Fehlermeldung weg. Probleme macht die Fehlermeldung keine, ich weiß nicht, was der raspi da im Hintergrund treibt ... und doch, es liegt am User vmail, der über den getmail-eventhandler aktiviert wird und eine Session mit User vmail öffnet. Login mit vmail mache ich auch nicht.

    c) die Sieve-Fehlermeldungen habe ich nur gestern im Systemlog (journalctl) gesehen, heute sind da keine, obwohl sieve läuft. Werde mal abwarten, ob und wann sie wiederkommen.

  • Ok, das war dann tatsächlich ein Mißverständnis, ich verwende SSL weil...

    Und ja, ich habe gestern dann dem vmail ein home-dir spendiert, die Meldung ist weg.

    Ich habe das nie im Zusammenhang gesehen, da die Meldung ab und zu auch ohne vorherigen Bezug auf vmail zu sehen war, es hat mich aber auch nicht groß gekümmert ;) .

    Dummerweise komme ich gerade nicht an meine Test-VM, sonst hätte ich das mit Port 587 auch mal getestet.

    Gruss

  • Ein Problem habe ich noch beim Versuch, vom Smartphone aus über den Mailserver zu senden: In der App FairEmail kann ich nicht <thomas_g>@mail als Mailadresse eintragen, FairEmail lehnt das als ungültig ab (kein FQDN ...). In Thunderbird geht das und da klappt auch das Senden über Port 25 an den Mailserver.
    Wie könnte ich das am einfachsten auch für das Smartphone gangbar machen?
    Natürlich kann ich auch direkt über den Provider senden, aber wenn man schon einen eigenen Mailserver hat ...

    Grüße von Dieter

  • Ich habe kein FairMail, auf dem Tablet ist BlueMail, auf dem Smartphone die vorinstallierte E-Mail App (die heißt wirklich so).

    Mit beiden Apps habe ich kein Problem, die akzeptieren @mail.

    Wenn das die App nicht unterstützt, bleibt nur eine andere App ;) .

    Gruss

  • Hallo,

    erstmal herzlichen Dank für die super Anleitung. Bemerkenswert!

    Ich habe Dovecot soweit zu laufen gebracht und es werden auch die default-Ordner angelegt. Ich würde nun gerne den Server nicht nur aus dem internen Netzwerk sondern auch aus dem Internet (ohne VPN) verfügbar machen.

    Auf meinem Router habe ich ein Portforwarding für den port 993 eingerichtet. Die Sicherheits-Ausnahmeregel bezüglich dem Zertifikat wird angezeigt und wenn ich auf "Sicherheits-Ausnahmeregel bestätigen" klicke, dann bin ich laut Thunderbrid mit dem Server Verbunden, aber in der Mail.err bekomme ich folgende Meldung:

    Code
    Jul 22 08:44:07 openhabian dovecot: imap-login: Disconnected (no auth attempts in 0 secs): user=<>, rip=89.217.26.47, lip=192.168.148.157, TLS handshaking: SSL_accept() failed: error:14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate: SSL alert number 42, session=<WkggnbZ9y7Z>

    Kann mir denn jemand einen Tipp geben?
    Bin am verzweifeln.

  • Ich würde nun gerne den Server nicht nur aus dem internen Netzwerk sondern auch aus dem Internet (ohne VPN) verfügbar machen.

    Halte ich persönlich für ein ganz schlechte Idee! Bei mir ist das über VPN realisiert und klappt absolut problemlos.

    Aus Deinem Post würde ich die WAN IP maskieren, die LAN IP kannst Du lassen.

    Dies hast Du schon gesehen?

    Gruss

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!