23 thoughts on “Mailserver mit Postfix, Dovecot, PostfixAdmin und MySQL

  1. MathiasHid

    Hallo Thomas,
    vorab vielen Dank für diesen interessanten und kompakten Artikel. Zwei Sachen würde ich anmerken:

    1. in deiner main.cf existieren zwei „virtual_transport“ Einträge – das bemängelt der Postfix und
    2. wäre ex vielleicht hilfreich, den Users noch ein beispielhaftes INSERT-Statement zu anzubieten, dann geht deine Lösung quasi out-of-the-box – das ist aber wirklich nur Kosmetik.

    Viele Grüße aus Deutschland
    Mathias

  2. goblin

    Hallo Thomas,

    danke für den Artikel, ich bin noch ganz neu in der Materie, soweit hat aber alles prima geklappt.
    Ich habe einen User in der Datenbank angelegt, nur das Passwort funktioniert nicht.
    Aus /var/log/mail.log :
    „Error: sql(testuser,192.168.0.20): Password data is not valid for scheme PLAIN-MD5: Input length isn’t valid (6 instead of 16)“
    Irgendwas hab ich da noch falsch, könntest du ein Beispiel für den ersten User in der Datenbank zeigen?

    Gruß
    goblin

    1. Hallo goblin,

      Den Benutzer fügst du in PostfixAdmin ein. So wie es aussieht, ist das Passwort nicht im MD5 Format. Überprüfe mal in deiner Datenbank, ob das Passwort genau 32 besitzt. Wenn nicht, editiere den Eintrag und füge als Passwort einen MD5 String ein.

      Hierfür kannst du auch auf die MD5 Funktion von MySQL zugreifen:
      UPDATE `postfix`.`mailbox` SET `password` = MD5( 'Neuespasswort' ) WHERE `mailbox`.`username` = 'test@domain.tld';

      Am Ende sollte das dann etwa so aussehen:
      test@domain.tld
      59e70d53c502e6b192a70ef93a8dd243
      Test Tester
      domain.tld/test/
      0
      test
      domain.tld
      2014-07-17 13:54:42
      2014-07-17 13:56:42
      1
      2014-07-17
      1

      Hoffentlich konnte ich für Klarheit sorgen 😉

      MfG
      Thomas

      1. goblin

        Hallo Thomas,

        Danke für die schnelle Antwort! Das war das Problem, mein testuser kann jetzt emails abrufen. 🙂
        Nur kann ich mich nicht in postfixadmin anmelden. Muss er dazu superadmin sein (tbl admin)?
        Postfixadmin sagt E-Mailadresse oder Passwort sind nicht korrekt, das kann aber jetzt nicht mehr sein.
        Eingetragen hab ich den User in tbl admin, tbl alias (wo mit goto nichts anfangen kann),
        tbl config (value ist leer), tbl domain_admins, tbl mailbox (local_part ist leer)

        Gruß
        goblin

  3. MrJoki007

    Hallo Thomas,

    ich kann nun von Postfixadmin E-Mails versenden, doch wenn ich eine E-Mail an meine E-Mail Adresse versenden will bekomme ich eine E-Mail mit diesem Inhalt zurück:

    Delivery to the following recipient failed permanently:

    webmaster@mrjoki007.de

    Technical details of permanent failure:
    Google tried to deliver your message, but it was rejected by the server for the recipient domain mrjoki007.de by mrjoki007.de. [85.214.223.242].

    The error that the other server returned was:
    550 5.1.1 : Recipient address rejected: User unknown in local recipient table

    LG MrJoki007

    1. Hallo.
      Diese Fehlermeldung tritt normalerwiese immer dann auf, wenn der Benutzer in der Datenbank nicht vorhanden ist.

      Überprüfe bitte in postfixAdmin, ob in der „Domain Liste“ die Domain „mrjoki007.de“ eingetragen ist und ob unter „Virtual Liste“ unter der Domain „mrjoki007.de“ bei „Mailboxen“ die e-Mail Adresse „webmaster@mrjoki007.de“ angezeigt wird.
      Wenn dies der Fall ist, versuch dich bitte einzuloggen und überprüfe, ob der Login funktioniert.

  4. Hallo,

    ein wirklich nettes Tutorial.
    Leider bekomme ih (Unter Ubuntu 14) folgenden Fehler beim restart von postfix.

    „postfix: fatal: /etc/postfix/main.cf, line 79-82: missing ‚=‘ after attribute name: „dovecot unix – n n – – pipe flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}““

    Ich denke dass bei mir eine neuere postfix version zum Einsatz kommt.
    Wie sieht hier die config aus?

    1. Hallo NeoP5.

      Leider hat sich in Ubuntu 14.04+ einiges verändert.
      Ich reche eine überarbeitete Version für Ubuntu 14.04+ demnächst nach.

  5. Patrick

    Wow! Erstklassiges Tutorial! Bin froh Blogs wie deinen zu kennen! Hatte davor 4 andere Tutorials probiert, aber irgendwo ist immer „Mist“ dabei, wie du schon geschrieben hast 🙁

    Server läuft problemlos. Yay!

    Würde mich freuen, wenn es noch ein Tutorial gibt, dass die Mailbox Quotas nicht fix eingestellt hat, sondern via Datenbank (Postfixadmin) übernimmt.

    Danke!

    MfG,
    Patrick

  6. Max

    Hallo, können Sie mir helfen? Ich habe alles nach der Anleitung gemacht und die Postfixdatei in /var/www getan, und bei /var/www/html ausprobiert. Bei /var/www findet er das Verzeichnis garnicht wenn ich das Setup.php öffnen will, und bei /var/www kommt Serverfehler 500. Dann hab ich Apache2 neugestartet um zu gucken ob es dann geht, doch jetzt hab ich angeblich keine Rechte mehr um index.php im Browser zu öffnen. Das ist aber Nebensache weil ich die Index.php eh nicht brauche. Denn Owncloud und Phpmyadmin funktioniert noch. Ich habe schon mehrere Tutorials ausprobiert.

    1. Nax

      Bei /var/www/html kommt error 500meine ich

      1. Hallo Max.
        Schau mal bitte in der error-Log von php und Apache. Darin müsste ein entsprechender Eintrag vorhanden sein, wieso die Seite nicht aufgerufen werden konnte.

        MfG

  7. hi thomas,
    ich habe deine anleitung unter verwendung debian wheezy 7.9 getestet und es hat tadellos funktioniert.

  8. Christian

    Hallo.

    Ich habe das Howto für Debian Jessie angepasst, darf ich dieses auf meinem Blog veröffentlichen?

    1. Hallo Christian.
      Mit entsprechender Quellenangabe sehr gerne 🙂

  9. habe bei mir das Problem das postfixadmin anscheinend nicht mit MySQL verbindet. Bekomme folgende meldung:

    DEBUG INFORMATION:
    Connect: Access denied for user ‚postfix’@’localhost‘ (using password: YES)

    Please check the documentation and website for more information.

    Postfix Admin
    Forums

    habe bereits das passwort geändert und noch einmal probiert aber gleicher Fehler, ich nutze Debian 8 mit apache 2.4 und php 5.6.

    zudem bekomme ich diese meldung wenn ich „service postfix status“ versuche:

    postfix.service – LSB: Postfix Mail Transport Agent
    Loaded: loaded (/etc/init.d/postfix)
    Drop-In: /run/systemd/generator/postfix.service.d
    └─50-postfix-$mail-transport-agent.conf
    Active: active (exited) since Mon 2016-11-07 15:12:21 CET; 3min 22s ago
    Process: 30951 ExecStop=/etc/init.d/postfix stop (code=exited, status=0/SUCCESS)
    Process: 30966 ExecStart=/etc/init.d/postfix start (code=exited, status=0/SUCCESS)

    Nov 07 15:12:21 MadGeeks postfix[30966]: /usr/sbin/postconf: warning: /etc/postfix/main.cf, line 73: overriding earlier entry: virtual_transport=virtual
    Nov 07 15:12:21 MadGeeks postfix[30966]: /usr/sbin/postconf: warning: /etc/postfix/main.cf, line 73: overriding earlier entry: virtual_transport=virtual
    Nov 07 15:12:21 MadGeeks postfix[30966]: /usr/sbin/postconf: warning: /etc/postfix/main.cf, line 73: overriding earlier entry: virtual_transport=virtual
    Nov 07 15:12:21 MadGeeks postfix[30966]: /usr/sbin/postconf: warning: /etc/postfix/main.cf, line 73: overriding earlier entry: virtual_transport=virtual
    Nov 07 15:12:21 MadGeeks postfix[30966]: /usr/sbin/postconf: warning: /etc/postfix/main.cf, line 73: overriding earlier entry: virtual_transport=virtual
    Nov 07 15:12:21 MadGeeks postfix[30966]: /usr/sbin/postconf: warning: /etc/postfix/main.cf, line 73: overriding earlier entry: virtual_transport=virtual
    Nov 07 15:12:21 MadGeeks postfix[30966]: /usr/sbin/postconf: warning: /etc/postfix/main.cf, line 73: overriding earlier entry: virtual_transport=virtual
    Nov 07 15:12:21 MadGeeks postfix[30966]: .
    Nov 07 15:12:21 MadGeeks systemd[1]: Started LSB: Postfix Mail Transport Agent.
    Nov 07 15:12:21 MadGeeks postfix/master[31072]: warning: /etc/postfix/main.cf, line 73: overriding earlier entry: virtual_transport=virtual
    Nov 07 15:12:21 MadGeeks postfix/master[31072]: fatal: bind 0.0.0.0 port 25: Address already in use

    Irgendwelche Lösungsvorschläge? Danke im Voraus!

    Gruß

    1. Hallo.
      Laut deinem Logauszug befindet sich in der Datei /etc/postfix/main.cf die Option virtual_transport mehrmals, sollte jedoch nur 1x existieren.
      Das größere Problem ist, dass scheinbar ein anderer Dienst deinen Mailport (25) belegt. (fatal: bind 0.0.0.0 port 25: Address already in use)

    2. Hallo nochmal, ich habe nun die Probleme mit postfix gelöst (sendmail prozess war gehangen und hat port 25 blockiert) + ich habe in der main.cf die doppelte variable gelöscht (virtual_transport=virtual)

      Jetzt ist nurnoch das Problem mit postfixadmin vorhanden, access denied :

      Connect: Access denied for user ‚postfix’@’localhost‘ (using password: YES)

      Vielen Dank im Voraus!

      1. Benutzer und Passwort sind aber definitiv richtig, kann mich in phpmyadmin und in der Shell anmelden.

      2. Demnach stimmt das Passwort in postfixAdmin nicht mit dem MySQL-Benutzerpasswort überein oder der Benutzer existiert nicht.
        Hast du in Dovecot und postfixAdmin die gleichen MySQL-Benutzerdaten verwendet und ist dir kein Leerzeichen oder anderes Zeichen in die Konfiguration gerutscht?

        1. Danke für die schnelle Antwort!

          ich werde die Passwörter heute Abend nochmal exakt überprüfen, bin gerade noch auf Arbeit. Melde mich noch einmal falls etwas nicht passen sollte.

          Danke schonmal!

          Gruß

        2. Guten Morgen Thomas,

          ich habe nun alle Passwörter noch einmal überprüft. Alle stimmen, ich hab auch noch einmal ein Simpleres genommen und Schreibfehler auszuschließen. Dennoch bekomme ich die gleiche Meldung:

          Connect: Access denied for user ‚postfix’@’localhost‘ (using password: YES)

          Noch hinzugekommen ist, wenn ich den befehl „service postfix status“ ausführe, bekomme ich folgende Meldung:

          Nov 08 08:43:58 MadGeeks postfix/cleanup[12517]: warning: B4142800C21: virtual_alias_maps map lookup problem for [mymail]@gmail.com — message not accepted, try again later
          Nov 08 08:43:58 MadGeeks postfix/pickup[12516]: B467C800C21: uid=0 from=<webmin@MadGeeks>
          Nov 08 08:43:58 MadGeeks postfix/cleanup[12522]: warning: proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf lookup error for „[mymail]@gmail.com“
          Nov 08 08:43:58 MadGeeks postfix/cleanup[12522]: warning: B467C800C21: virtual_alias_maps map lookup problem for [mymail]@gmail.com — message not accepted, try again later
          Nov 08 08:43:58 MadGeeks postfix/pickup[12516]: B4CD6800C21: uid=0 from=<webmin@MadGeeks>
          Nov 08 08:43:58 MadGeeks postfix/cleanup[12517]: warning: proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf lookup error for „[mymail]@gmail.com“
          Nov 08 08:43:58 MadGeeks postfix/cleanup[12517]: warning: B4CD6800C21: virtual_alias_maps map lookup problem for [mymail]@gmail.com — message not accepted, try again later
          Nov 08 08:43:58 MadGeeks postfix/pickup[12516]: B528E800C21: uid=0 from=<webmin@MadGeeks>
          Nov 08 08:43:58 MadGeeks postfix/cleanup[12522]: warning: proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf lookup error for „[mymail]@yahoo.de“
          Nov 08 08:43:58 MadGeeks postfix/cleanup[12522]: warning: B528E800C21: virtual_alias_maps map lookup problem for [mymail]@yahoo.de — message not accepted, try again later

          Was ich auch komisch finde, die Datenbank ist noch leer, ich weiß nicht ob postfixadmin die DB beim verbinden füllt oder ob ich da etwas eintragen muss.

          Vielen Dank im Voraus!

          Gruß

  10. Hallo..
    Ich kann keine verbundung zum smtp oder noch zum imap oder pop3 Server herstellen.
    Weiß jemand warum?
    Danke

Kommentar verfassen