Postfix und User in einer MySQL-Datenbank

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
kox666
Beiträge: 393
Registriert: 14.12.2002 20:35:34
Wohnort: Nähe Leverkusen...
Kontaktdaten:

Postfix und User in einer MySQL-Datenbank

Beitrag von kox666 » 17.07.2003 10:40:59

Hi Jungs und Mädels,

ich versuche seit letzter Woche meine Mailuser mit Postfix in einer MySQL-Datenbank zu verwalten. Ich möchte pop3 und imap benutzen, hab auch von blackm tutorials bekommen und bin damit auch ziemlich weit gekommen. Funktionieren tut es bei mir trotzdem noch nicht. Hat vielleicht jemand schonmal sowas gemacht und kann mir tipps bzw. weitere (am besten deutsche) tutorials geben???

Wäre echt nett, ich komme irgendwie nicht weiter...

Gruß Marco
Computer sind nichts anderes als in Silizium geätzte Heimtücke!
- Michael Rüttger

Benutzeravatar
kox666
Beiträge: 393
Registriert: 14.12.2002 20:35:34
Wohnort: Nähe Leverkusen...
Kontaktdaten:

Beitrag von kox666 » 31.07.2003 15:36:48

Bin jetzt schon einigermaßen weit gekommen, doch jetzt gibt postfix in der mail.log ziemlich seltsame fehler aus :

Code: Alles auswählen

Jul 31 06:29:44 maggy postfix/pickup[1465]: 8B163C0DA16: uid=0 from=<root>
Jul 31 06:29:44 maggy postfix/trivial-rewrite[2212]: warning: connect to mysql server 127.0.0.1: Can't connect to MySQL server on '127.0.0.1' (111)
Jul 31 06:29:44 maggy postfix/trivial-rewrite[2212]: fatal: transport table lookup problem
Jul 31 06:29:45 maggy postfix/master[1463]: warning: process /usr/lib/postfix/trivial-rewrite pid 2212 exit status 1
Jul 31 06:29:45 maggy postfix/master[1463]: warning: /usr/lib/postfix/trivial-rewrite: bad command startup -- throttling
kann jemand was damit anfangen ?!?
Computer sind nichts anderes als in Silizium geätzte Heimtücke!
- Michael Rüttger

Benutzeravatar
kox666
Beiträge: 393
Registriert: 14.12.2002 20:35:34
Wohnort: Nähe Leverkusen...
Kontaktdaten:

Beitrag von kox666 » 31.07.2003 15:47:40

Hab den Fehler gefunden =),

hab jetzt aber ein anderes Problem, Postfix sagt folgendes :

Code: Alles auswählen

Jul 31 06:39:37 maggy postfix/smtp[2645]: connect to mailin01.sul.t-online.de[194.25.134.72]: Connection refused (port 25)
Jul 31 06:39:37 maggy postfix/smtp[2645]: connect to mailin05.sul.t-online.de[194.25.134.74]: Connection refused (port 25)
Jul 31 06:39:37 maggy postfix/smtp[2645]: connect to mailin00.sul.t-online.de[194.25.134.8]: Connection refused (port 25)
Jul 31 06:39:38 maggy postfix/smtp[2645]: connect to mailin04.sul.t-online.de[194.25.134.10]: Connection refused (port 25)
Jul 31 06:39:38 maggy postfix/smtp[2645]: connect to mailin02.sul.t-online.de[194.25.134.9]: Connection refused (port 25)
Jul 31 06:39:38 maggy postfix/smtp[2645]: connect to mailin03.sul.t-online.de[194.25.134.73]: Connection refused (port 25)
Jul 31 06:39:38 maggy postfix/smtp[2645]: connect to mailin07.sul.t-online.de[194.25.134.75]: Connection refused (port 25)
Jul 31 06:39:38 maggy postfix/smtp[2645]: connect to mailin06.sul.t-online.de[194.25.134.11]: Connection refused (port 25)
Jul 31 06:39:38 maggy postfix/smtp[2645]: 8B163C0DA16: to=<marco.buchholz@t-online.de>, relay=none, delay=594, status=deferred (connect to mailin06.sul.t-online.de[194.25.134.11]: Connection refused)
Hier ist meine master.cf :

Code: Alles auswählen

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (50)
# ==========================================================================
smtp      inet  n       -       -       -       -       smtpd
#628      inet  n       -       -       -       -       qmqpd
pickup    fifo  n       -       -       60      1       pickup
cleanup   unix  n       -       -       -       0       cleanup
qmgr      fifo  n       -       -       300     1       qmgr
#qmgr     fifo  n       -       -       300     1       nqmgr
rewrite   unix  -       -       -       -       -       trivial-rewrite
bounce    unix  -       -       -       -       0       bounce
defer     unix  -       -       -       -       0       bounce
flush     unix  n       -       -       1000?   0       flush
smtp      unix  -       -       -       -       -       smtp
showq     unix  n       -       -       -       -       showq
error     unix  -       -       -       -       -       error
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
#
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
# The Cyrus deliver program has changed incompatibly.
#
cyrus     unix  -       n       n       -       -       pipe
  flags=R user=cyrus argv=/usr/sbin/cyrdeliver -e -m ${extension} ${user}
uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -d -t$nexthop -f$sender $recipient
scalemail-backend unix  -       n       n       -       2       pipe
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}

# only used by postfix-tls
#smtps    inet  n       -       n       -       -       smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
#587      inet  n       -       n       -       -       smtpd -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes
und hier meine main.cf :

Code: Alles auswählen

# appending .domain is the MUA's job.
append_dot_mydomain = no
myhostname = maggy.technik.local
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = technik.local, maggy.technik.local, localhost.technik.local, localhost
relayhost =
mynetworks = 127.0.0.0/8 192.168.1.0/24
mailbox_command =
mailbox_size_limit = 0
recipient_delimiter = +
home_mailbox = Maildir/
mydestination = $myhostname, $transport_maps

alias_maps = mysql:/etc/postfix/mysql-aliases.cf
relocated_maps = mysql:/etc/postfix/mysql-relocated.cf
transport_maps = mysql:/etc/postfix/mysql-transport.cf
virtual_maps = mysql:/etc/postfix/mysql-virtual.cf

local_recipient_maps  = $alias_maps $virtual_mailbox_maps unix:passwd.byname

virtual_mailbox_base  = /home/vmail
virtual_mailbox_maps  = mysql:/etc/postfix/mysql-virtual-maps.cf
virtual_uid_maps      = mysql:/etc/postfix/mysql-virtual-uid.cf
virtual_gid_maps      = mysql:/etc/postfix/mysql-virtual-gid.cf

broken_sasl_auth_clients    = yes
smtpd_sasl_auth_enable      = yes
smtpd_sasl_security_options = noanonymous

maps_rbl_domains = relays.ordb.org,
                   dev.null.dk,
                   spews.relays.osirusoft.com,
                   spamhaus.relays.osirusoft.com,
                   opm.blitzed.org
Vielleicht findet ja von euch jemand den Fehler ???
Computer sind nichts anderes als in Silizium geätzte Heimtücke!
- Michael Rüttger

Benutzeravatar
feltel
Webmaster
Beiträge: 10476
Registriert: 20.12.2001 13:08:23
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Leipzig, Germany
Kontaktdaten:

Beitrag von feltel » 31.07.2003 15:57:12

Die Telekom wird Deine Mails nicht annehmen, da maggy.technik.local im "richtigen" Internet nicht auflösbar ist. Du musst dann schon nen richtigen Hostnamen verwenden.

Benutzeravatar
kox666
Beiträge: 393
Registriert: 14.12.2002 20:35:34
Wohnort: Nähe Leverkusen...
Kontaktdaten:

Beitrag von kox666 » 31.07.2003 16:36:46

Dankeschön, habs hingekriegt, aber jetzt steh ich schon vorm nächsten Problem. Ich hab einen User in der MySQL-Datenbank angelegt, dieser hat ein Maildir, das ich unter root in /home/vmail angelegt habe. Wenn ich diesem User jetzt via root eine Mail schreibe, wird sie laut Postfix auch verschickt, sie kommt aber nie an, obwohl sie lokal bleiben müsste. Sie ist auch nicht unter /var/mail zu finden. ????

Ich hab keine Erklärung mehr ...
Computer sind nichts anderes als in Silizium geätzte Heimtücke!
- Michael Rüttger

Benutzeravatar
feltel
Webmaster
Beiträge: 10476
Registriert: 20.12.2001 13:08:23
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Leipzig, Germany
Kontaktdaten:

Beitrag von feltel » 31.07.2003 18:17:45

Hängen die Mails evtl (mit ner Fehlermeldung) nich in der Mailqueue? Schau mal mit "mailq" nach.

Benutzeravatar
kox666
Beiträge: 393
Registriert: 14.12.2002 20:35:34
Wohnort: Nähe Leverkusen...
Kontaktdaten:

Beitrag von kox666 » 01.08.2003 02:46:34

Die mails werden einwandfrei rausgeschickt, doch nicht mal lokal kommen diese an ???
Computer sind nichts anderes als in Silizium geätzte Heimtücke!
- Michael Rüttger

Benutzeravatar
kox666
Beiträge: 393
Registriert: 14.12.2002 20:35:34
Wohnort: Nähe Leverkusen...
Kontaktdaten:

Beitrag von kox666 » 01.08.2003 12:51:32

Hab jetzt alles soweit hinbekommen, ich kann über den Mailserver mails verschicken, der Server nimmt Mails an und verteilt diese in die dafür vorgesehenen Maildir´s und er scannt nach Viren und Spam =). Doch ein Problem hab ich leider noch :

Ich kann mich nicht an meinem IMAP- und POP3-Server anmelden, diese weisen den Benutzernamen oder das Passwort immer zurück = ( !!!

Was mich auch irritiert hat, ist dass die Mailpasswörter der mailuser in der MySQL Datenbank in klartext stehen ??? Ist das normal ???

Weiter steht in der Anleitung, die ich von Blackm bekommen haben folgende Zeilen :

Code: Alles auswählen

    auth     optional       pam_mysql.so host=localhost db=postfix user=mysql-postfix-user \ 
      passwd=mysql-postfix-pass table=postfix_users usercolumn=email passwdcolumn=clear crypt=n where=access='y'
    account  required       pam_mysql.so host=localhost db=postfix user=mysql-postfix-user \
      passwd=mysql-postfix-pass table=postfix_users usercolumn=email passwdcolumn=clear crypt=n where=access='y'
Für PAM-MySQL in folgende Datei eintragen muss :

Code: Alles auswählen

 /etc/pam.d/smtp
Ich finde diese Datei aber nirgendwo, deshalb hab ich sie einfach selbst in diesem ordner angelegt, doch ich denke, dass das falsch war, weiss aber nicht wo ich noch suchen könnte.

Laut dieser Anleitung muss sich in /etc/postfix/sasl/ eine smtpd.conf befinden, die Datei gibt es aber nicht, also hab ich auch diese mit folgendem Inhalt erstellt :

Code: Alles auswählen

pwcheck_method: PAM
Kann mir vielleicht jemand einen Tipp geben, wo ich noch schauen könnte ???
Computer sind nichts anderes als in Silizium geätzte Heimtücke!
- Michael Rüttger

Benutzeravatar
kox666
Beiträge: 393
Registriert: 14.12.2002 20:35:34
Wohnort: Nähe Leverkusen...
Kontaktdaten:

Beitrag von kox666 » 01.08.2003 14:06:57

ok ok, hab den Fehler gefunden, kann mich jetzt anmelden juhuu =)
Computer sind nichts anderes als in Silizium geätzte Heimtücke!
- Michael Rüttger

Benutzeravatar
belorofon
Beiträge: 15
Registriert: 16.09.2003 16:25:09
Wohnort: Springe
Kontaktdaten:

Beitrag von belorofon » 17.10.2003 10:57:37

kox666 hat geschrieben:ok ok, hab den Fehler gefunden, kann mich jetzt anmelden juhuu =)
Hallo kox666,
das ist ja sehr schön für Dich und ich freu mich auch für Dich. Schade nur, dass Du Deine Problemlösungen für Dich behältst. Vielleicht könntest Du nochmal beschreiben, was Du verändert hast, damit es nun geht. Ich habe nämlich genau die selben Probleme. Habe die selben Logeinträge wie Du und weiss auch nicht, ob die Passwörter im Klartext eingetragen werden müssen.
Es wäre sehr nett von Dir, wenn Du hier nochmal die Problemlösungen darstellen könntest.
Vielen Dank!

Benutzeravatar
belorofon
Beiträge: 15
Registriert: 16.09.2003 16:25:09
Wohnort: Springe
Kontaktdaten:

Beitrag von belorofon » 17.10.2003 23:45:14

kox666 hat geschrieben:Bin jetzt schon einigermaßen weit gekommen, doch jetzt gibt postfix in der mail.log ziemlich seltsame fehler aus :

Code: Alles auswählen

Jul 31 06:29:44 maggy postfix/pickup[1465]: 8B163C0DA16: uid=0 from=<root>
Jul 31 06:29:44 maggy postfix/trivial-rewrite[2212]: warning: connect to mysql server 127.0.0.1: Can't connect to MySQL server on '127.0.0.1' (111)
Jul 31 06:29:44 maggy postfix/trivial-rewrite[2212]: fatal: transport table lookup problem
Jul 31 06:29:45 maggy postfix/master[1463]: warning: process /usr/lib/postfix/trivial-rewrite pid 2212 exit status 1
Jul 31 06:29:45 maggy postfix/master[1463]: warning: /usr/lib/postfix/trivial-rewrite: bad command startup -- throttling
kann jemand was damit anfangen ?!?
Habe genau die selben Fehlermeldungen. Kann da jemand vielleicht was zu sagen? kox666 scheint den Fehler ja gefunden zu haben... :cry:

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 18.10.2003 07:22:02

Postfix muss sich per TCI/IP mit dem MySQL verbinden. Per default ist TCP/IP aber in MySQL ausgeschaltet. In der Datei /etc/mysql/my.cnf sollt feolgende Zeile stehen

Code: Alles auswählen

# skip-networking
wichtig ist, das ein # davor ist!
MySQL neu starten und dann sollte es gehen.

by, Martin
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

ande
Beiträge: 29
Registriert: 13.10.2003 10:36:29
Wohnort: Freiburg
Kontaktdaten:

Beitrag von ande » 30.10.2003 20:06:58

belorofon hat geschrieben:
kox666 hat geschrieben:ok ok, hab den Fehler gefunden, kann mich jetzt anmelden juhuu =)
Hallo kox666,
das ist ja sehr schön für Dich und ich freu mich auch für Dich.
Genau. Du hoffst darauf, daß Dir jemand hilft, aber hältst es nicht für nötig, das erworbene Wissen hier zurückzugeben. Wir haben beide dasselbe Problem und wären auch gern so schlau wie Du ;-)

Also her damit!

Benutzeravatar
dominator
Beiträge: 790
Registriert: 26.08.2003 10:05:37
Wohnort: Neuerdings meistens im Bierparadies Oberfranken

Beitrag von dominator » 31.10.2003 11:56:38

nachdem ich die letzten tage mich auch sehr lange mit postifx + pop im zusammenspiel mit mysql herumgeschlagen habe, hier mal ein paar hinweise und gut gemeinte anmerkungen :)
kox666 hat geschrieben:Was mich auch irritiert hat, ist dass die Mailpasswörter der mailuser in der MySQL Datenbank in klartext stehen ??? Ist das normal ???
das ist schlichtweg falsch, die passwörter dürfen nur nicht mit PASSWORD(), sondern mit müssen mit ENCRYPT() verschlüsselt werden.
blackm hat geschrieben:Postfix muss sich per TCI/IP mit dem MySQL verbinden.
..... kann aber auch lokal per socket verbinden (Achtung : CHROOT) .... sollte man auf webservern unbedingt machen, denn es gibt viele :evil:'s im internet :wink:
kox666 hat geschrieben:Can't connect to MySQL server on '127.0.0.1'
also entweder hat er blackm's rat befolgt, oder es liegt an den rechten in mysql ! kontrolliert also mal mysql.user mysql.db und die conf-files von postfix.

zu der sache mit t-online : die t-mailserver nehmen generell keine post mehr von mta's mit t-online dial-in ip-adressen an, stichwort SPAM.

nize weekend
gruss + viel erfolg

Michael
--
Aus aktuellem Anlass :
"Der Glubb is a Depp" - Fränkische Weisheit

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 31.10.2003 12:23:13

dominator hat geschrieben:..... kann aber auch lokal per socket verbinden (Achtung : CHROOT) .... sollte man auf webservern unbedingt machen, denn es gibt viele :evil:'s im internet :wink:
Wenn ueber Socket und chroot, dann muss sich der socket aber im chroot befinden....das macht aber nicht viel Sinn, weil dann alle anderen Programme, die auch ueber den default socket auf die Datenbank zugreifen, den neuen Pfad kennen mussen und auch genug Rechte haben mussen um in das Verzeichnis zu kommen in dem der neue socket liegt.
kox666 hat geschrieben:Can't connect to MySQL server on '127.0.0.1'
also entweder hat er blackm's rat befolgt, oder es liegt an den rechten in mysql ! kontrolliert also mal mysql.user mysql.db und die conf-files von postfix.
Wenn es ein Rechte Problem waere, dann wuerde er nicht can´t connect schreiben.

by, Martin
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

xhacker
Beiträge: 37
Registriert: 23.12.2002 21:50:16

Beitrag von xhacker » 31.10.2003 17:25:06

Hi,

gibt 2 Varianten.

1. Der Socket liegt innerhalb des Postfix chroot() und ausserhalb existiert ein Link auf den Socket.
2. Benutzt TCP/IP. Wenn der Port von aussen nicht erreichbar ist, sollte das unproblematisch sein. Einfach mit IPTables von aussen alles dicht machen und gut.

HTH

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 31.10.2003 17:42:58

xhacker hat geschrieben:1. Der Socket liegt innerhalb des Postfix chroot() und ausserhalb existiert ein Link auf den Socket.
Mit zwei Sockets kann man aber nicht arbeiten, oder?
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

xhacker
Beiträge: 37
Registriert: 23.12.2002 21:50:16

Beitrag von xhacker » 31.10.2003 18:02:49

Brauchst Du doch auch nicht. Entweder per Socket oder per TCP/IP.

Und wenn zB /tmp/mysql.sock ein Link auf /var/spool/postfix/tmp/mysql.sock ist, dann kann man von ausserhalb des chroot() darauf zugreifen und Postfix innerhalb des chroot() auch.

HTH

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 31.10.2003 23:44:38

War eigentlich eher eine generelle Frage zu Sockets und Servern die mit Sockets arbeiten.
Das es mit dem symbolic link geht ist klar. Aber wuerde es auch gehen, das ich mysql sage er soll an mehreren Sockets lauschen (auch wenn es nicht besondern viel Sinn macht)

by, Martin
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

Antworten