carpe-diem
Goto Top

postfix kann nicht auf Datenbank zugreifen

Postfix liefert bei Aufruf von mail einen DB-Fehler

Wenn ich eine Testverbindung über telnet zu meinem Webserver aufbaue, kann ich mich mit ehlo verbinden. Nach der eingabe von mail reagiert telnet nicht mehr.
In der Log kommt folgende Meldung:
Aug 1 18:20:13 v24939 postfix/trivial-rewrite[29592]: warning: connect to mysql server unix:/opt/lampp/var/mysql/mysql.sock: Can't connect to local MySQL server through socket '/opt/lampp/var/mysql/mysql.sock' (2)
Aug 1 18:20:13 v24939 postfix/trivial-rewrite[29592]: fatal: mysql:/etc/postfix/mysql-virtual-alias-maps.cf(0,lock|fold_fix): table lookup problem

Ich habe postfix nach der Anleitung von http://workaround.org/articles/ispmail-etch/index.html.de konfiguriert und alle Schritte (vor allem die "postmap -q example.com mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf"-Prüfungen liefern eine 1 zurück) gehen auch soweit, nur das große ganze harmonisiert noch nicht.
Als Datenbank läuft MySQL in Verbindung mit XAMPP.

Zudem kann ich nur über domain.de und nicht über mail.domain.de zugreifen.

Vielen Dank für eure Hilfe
Manuel


Meine main.cf:
  1. See /usr/share/postfix/main.cf.dist for a commented, more complete version


  1. Debian specific: Specifying a file name will cause the first
  2. line of that file to be used as the name. The Debian default
  3. is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

  1. appending .domain is the MUA's job.
append_dot_mydomain = no

  1. Uncomment the next line to generate "delayed mail" warnings
delay_warning_time = 4h

  1. 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_use_tls=yes
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache

  1. See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
  2. information on enabling SSL in the smtp client.

myhostname = mail.domain.de
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = mail.domain.de, localhost.domain.de, , localhost
relayhost =
mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf,mysql:/etc/postfix/mysql-email2email.cf
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1

Content-Key: 93413

Url: https://administrator.de/contentid/93413

Printed on: April 20, 2024 at 01:04 o'clock

Member: theton
theton Aug 01, 2008 at 22:10:23 (UTC)
Goto Top
Existiert die Socket-Datei denn oder liegt diese evtl. an einer anderen Stelle? Evtl. mal den DB-Zugriff nicht über localhost/127.0.0.1 machen sondern über die IP des Rechners machen. Dann sucht er nämlich nicht nach einem Socket.

Und wegen dem Zugriff... verweist denn ein DNS-Eintrag für mail.domain.de auf die richtige IP des Rechners?
Member: carpe-diem
carpe-diem Aug 02, 2008 at 10:26:45 (UTC)
Goto Top
Die Socketdatei existiert. Wenn ich über localhost oder externe IP darauf zugreifen will, dann bekomme ich auch bei postmap einen Fehler.

Ein DNS-Eintrag auf mail.domain.de ist vorhanden.

Vielen Dank
Manuel
Mitglied: 16568
16568 Aug 02, 2008 at 13:47:42 (UTC)
Goto Top
Kann das "so rein zufällig" sein, daß lokale Zugriffe nicht erfolgen können, weil entweder in der MySQL-Config was verbogen ist (is der MySQL-Server gestartet?), oder daß evtl. ein Pwd verlangt wird, welches nicht gegeben ist...?


Lonesome Walker
Member: carpe-diem
carpe-diem Aug 02, 2008 at 16:12:57 (UTC)
Goto Top
In der Anleitung wird ja hier ( http://workaround.org/articles/ispmail-etch/index.html.de#schritt-4-ers ... ) eine Datei mit dem Passwort und allem angelegt, welche ja auch mit postmap aufgerufen wird und soweit funktioniert. Ich habe auch an der Datenbank nichts geändert, sie ist noch so konfiguriert wie sie von Haus aus bei XAMPP kommt (außer Passwort gesetzt und solche Sicherheitseinstellungen).
Member: theton
theton Aug 02, 2008 at 18:25:38 (UTC)
Goto Top
Hat der Mailserver-User ausreichend Rechte auf den Ordner /opt/lampp/var/mysql/ und die darin liegende Socket-Datei? Einfach mal in der /etc/passwd eine Shell für den User eintragen, mittels 'su - mailserverbenutzer' sein UID annehmen und dann mal probieren, ob du via 'mysql -u benutzername -p' zur Datenbank verbinden kannst.
Member: carpe-diem
carpe-diem Aug 03, 2008 at 12:40:54 (UTC)
Goto Top
Ich denke mit Mailserveruser ist der User postfix gemeint. Habe aber auch mal den Benutzer vmail probiert und mit beiden bin ich auf den mysql-prompt gekommen.
Member: carpe-diem
carpe-diem Aug 10, 2008 at 20:58:08 (UTC)
Goto Top
Nach etwas rumprobieren ging es nun einen Schritt weiter. Ich kann jetzt eine Email über telnet senden.
Jedoch kommt der Fehler:
451 4.3.0 Error: queue file write error

Zudem habe ich noch warning: /usr/lib/postfix/trivial-rewrite: bad command startup -- throttling in meine Logfile.

Vielen dank euch schonmal
manuel
Member: theton
theton Aug 11, 2008 at 02:58:50 (UTC)
Goto Top
"queue file write error" tritt meist auf, wenn Amavis eine Email nicht korrekt verarbeiten kann. Einfach mal in die Logs vom Amavis schauen ob es da irgendwelche Probleme gibt.

Woran lag denn nun das DB-Problem? Würde mich mal interessieren, falls man mal vor einem ähnlichen Problem hängt.
Member: carpe-diem
carpe-diem Aug 11, 2008 at 07:23:34 (UTC)
Goto Top
Das DB-Problem ist noch nicht ganz überstanden, aber es lag an den Optionen chroot in der master.cf. Dort habe ich smtp und rewrite auf n gesetzt.
Amavis ist noch gar nicht konfiguriert. Bin ja bei dem Tutorial bei Schritt 7 stehen geblieben. Höchstens es ist ein Problem mit dovecot.