Oh man, es hat mich heute fast 4 Stunden gekostet dies heraus zu finden.
Benutzt man Fetchmal und hat den selben Benutzer auf beiden Servern, so erhällt man zwangläufig in der mail.log folgendes:
postfix/pipe[4721]: 0C9E46F4380: to=, relay=dovecot, delay=0.06, delays=0.02/0.01/0/0.04, dsn=5.4.6, status=bounced (mail forwarding loop for meinUser@domain.de)
Dies liegt daran, dass im Header bereits ein delivered-to vorhanden ist. Also ist Postfix bekannt dass diese Mail bereits erfolgreich zugestellt wurde. Er geht davon aus er habe sie zugestellt und eine erneute Zustellung würde in einem Loop enden.
Um dies zu umgehen müssen wir delivered-to aus dem Header entfernen. Die übernimmt Fetchmail in der /etc/fetchmailrc
Der Eintrag sollte dann etwa so aussehen:
poll mail.server.de with proto POP3
user 'meinUser@domain.de' there with password 'secret' dropdelivered
is 'meinUser@domain.de' here
options fetchall ssl
An dieser Stelle möchte ich davon abraten, die Mail bei Dovecot mit der mda Möglichkeit zu zustellen. Dafür müsste nämlich der Authentifizierung Socket in der dovecot.conf abgeschaltet werden. Dieser wird aber meist sinnvoller Weise auch zur Authentifizierung andere Dienste benutzt, wie Postfix. Bei mir übernimmt Dovecot-Auth die Authentifizierung für Postfix.