PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Fetchmail



Takeshi
07.11.05, 21:34
Will mir gerade unter gentoo einen IMAP-Server bauen und hab schon so ziemlich jedes Howto im Internet durchsucht.
Mein Problem ist folgendes:
Die mails werden - soweit ich das beurteilen kann - nicht vom email-Server abgeholt. Dabei habe ich die "/etc/fetchmailrc" wie folgt editiert:

poll "pop.gmx.net" protocol POP3 : user "xxx@gmx.de" there with password "xxx" is "<systemuser>" here ;

Den Eintrag habe ich aus meinem (laufenden) SuSE-IMAP-Server rauskopiert, also sollte das doch laufen.
Den Systemdients fetchmail habe ich mit "/etc/init.d/fetchmail start" gestartet. Nun sollte fetchmail doch seine Dienste tun, oder???
Habe keine ~/.fetchmailrc eingerichtet - das sortieren sollte doch über die globale Datei in /etc laufen.

Wenn ich die Datei ~/.fetchmailrc anlege und dann als User fetchmail aufrufe, dann sehe ich, dass ich mich bei meinem email-Provider einloggen kann, aber die mails nicht abgerufen werden. Woran kann das liegen???

Fly
08.11.05, 07:56
rufe fetchmail als user fetchmail wie folgend auf:


fetchmail -v -f /etc/fetchmailrc


Ist auch ein MTA installiert, dass fetchmail die Mails an Port 25 weitergeben kann?

Takeshi
08.11.05, 19:49
Ja, Postfix. Ich will aber nicht die mails (wie in so ziemlich jedem Howto beschrieben) an Procmail, sondern direkt an cyrus weiterleiten.
Hier mal die Meldung, wenn ich fetchmail als User aufrufe. So weit ich mit google rausgefunden habe, scheint das ein Poblem von Postfix zu sein. Habe die main.cf und master.cf mit Hilfe der SuSE-Konfiguration abgeändert und an die Gentoo-Verzeichnisse entsprechend angepasst (glaub ich zumindest). Wo ist der Fehler in Postfix? Kann man das aus der Meldung erkennen??

...
fetchmail: POP3< +OK mailbox has 2 messages (3648 octets)
fetchmail: POP3> STAT
fetchmail: POP3< +OK 2 3648
fetchmail: 2 messages for USER@gmx.de at pop.gmx.net (3648 octets).
fetchmail: POP3> LIST 1
fetchmail: POP3< +OK 1 1270
fetchmail: POP3> RETR 1
fetchmail: POP3< +OK message follows
fetchmail: reading message USER@gmx.de@pop.gmx.net:1 of 2 (1270 octets)
fetchmail: smtp listener protocol error
fetchmail: smtp listener protocol error
fetchmail: SMTP connect to localhost failed
fetchmail: POP3> QUIT
fetchmail: POP3< ____ _
fetchmail: SMTP transaction error while fetching from pop.gmx.net
fetchmail: 6.2.5.2 querying pop.gmx.net (protocol POP3) at Tue Nov 8 20:45:21 2005: poll completed
fetchmail: Query status=10 (SMTP)
fetchmail: normal termination, status 10

Herr Kommisar
08.11.05, 21:47
um mails an cyrus zu leiten gibts doch nen eintrag in der /etc/postfix/main.cf


mailbox_transport = cyrus
oder

mailbox_transport = lmtp:unix:public/lmtp

und fetchmail hab ich mit ner .fetchmailrc in /root laufen

der holt alle emails und verteilt sie intern an postfix also cyrus

Takeshi
08.11.05, 23:50
Damit gehts leider auch nicht.

Muß ich zusätzlich noch etwas bei
fallback_transport
mailbox_command
eintragen?? Die sind bei mir (wie bei der SuSE-Config) freigelassen, d.h.: sie stehen wie folgt in der main.cf

# fallback_transport = cyrus
mailbox_command =

Worauf muss ich bei der master.cf achten?? Habe da nämlich folgende Zeile an meinen Pfad angepasst:

old-cyrus unix - n n - - pipe
flags=R user=cyrus argv=/usr/lib/cyrus/deliver -e -m ${extension}
cyrus unix - n n - - pipe
user=cyrus argv=/usr/lib/cyrus/deliver -e -r ${sender} -m

Zudem habe ich die an die Zeile
smtp inet n - n - - smtpd -v
das "-v" angehängt.

Allerdings steht über den o.g. Zeilen noch folgendes:
# maildrop. See the Postfix MAILDROP_README file for details.
#
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
#
# The Cyrus deliver program has changed incompatibly, multiple times.
#

Maildrop habe ich NICHT installiert. Soll ich das nachholen, die Zeile auskommentieren, oder spielt das hierfür keine Rolle??

Fly
09.11.05, 07:03
Bei mir ist in der main.cf folgendes eingetragen:


mailbox_transport = cyrus
fallback_transport = cyrus

in der master.cf


cyrus unix - n n - - pipe user=cyrus argv=/usr/sbin/cyrdeliver -e -r $(sender) -m ${extension} ${user}

Versuch in der master.cf die Zeile old-cyrus auszukommentieren. Das kommt mir neu vor... Nach Änderung der Dateien Postfix neu starten und bitte während dem abrufen der Mails mit fetchmail die Ausgabe /var/log/mail.info im CODE Tags posten!

Takeshi
09.11.05, 19:03
Hab die Zeile mit "old-cyrus" auskommentiert. Aber die Zeile mit
cyrus unix - n n - - pipe user=cyrus argv=/usr/sbin/cyrdeliver -e -r $(sender) -m ${extension} ${user}
habe ich wie bei mir in der master.cf mit
...argv=/usr/sbin/deliver -e....
gelassen, da bei mir die Datei so heißt.
Übrigens habei ich versucht, den Befehl mal "von Hand" auszuführen:
/usr/lib/cyrus/deliver -e -r -m <USER>
Aber da passiert dann gar nix.

Zudem gibt es keine mail-Logdatei in /var/log. Komischerweise legt fetchmail auch keine an, obwohl ich explizit mit dem Argument "--logfile" darauf hinweise.

Hier aber mal einige Auszüge aus der /var/log/messages:
Nov 9 19:57:02 alderaan postfix/smtpd[18001]: fatal: open database /etc/mail/aliases.db: No such file or directory
Nov 9 19:57:03 alderaan postfix/master[7176]: warning: process /usr/lib/postfix/smtpd pid 18001 exit status 1
Nov 9 19:57:03 alderaan postfix/master[7176]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling
Nov 9 19:57:50 alderaan master[7053]: process 16291 exited, status 0

Muss ich die /etc/mail/aliases.db anlegen?? Und hier scheint es ein Problem mit Postfix zu geben - oder sehe ich das falsch??

Tomek
09.11.05, 21:21
Nach jeder Änderung der aliases-Datei musst du die Datenbank neu erstellen:

postmap /etc/postfix/aliases

Fly
09.11.05, 21:26
Hier aber mal einige Auszüge aus der /var/log/messages:
Nov 9 19:57:02 alderaan postfix/smtpd[18001]: fatal: open database /etc/mail/aliases.db: No such file or directory
Nov 9 19:57:03 alderaan postfix/master[7176]: warning: process /usr/lib/postfix/smtpd pid 18001 exit status 1
Nov 9 19:57:03 alderaan postfix/master[7176]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling
Nov 9 19:57:50 alderaan master[7053]: process 16291 exited, status 0

Muss ich die /etc/mail/aliases.db anlegen?? Und hier scheint es ein Problem mit Postfix zu geben - oder sehe ich das falsch??

Wenn du keine ahnung von der /etc/aliases im Zusammenhang mit Postfix hast, dann würde ich in deiner Stelle unbedingt die Dokumentation lesen! So kommt man nicht weiter, wenn man nicht genau weiss was alles dahinter steckt...

Takeshi
09.11.05, 22:28
Habe mich an die Anleitung hier im Forum gehalten - und da steht nix über eine aliases.db.
Der einzige Unterschied: bei mir sollen die mails direkt an cyrus und nicht an Postfix weitergeleitet werden.

Takeshi
09.11.05, 23:55
Hat geklappt!
In der Anleitung stand nicht, dass man die aliases und transport.db erstellen muß. Nachdem ich das getan habe, läuft jetzt alles