Es scheint mir, dass die Verwendung von --fetchall und --keep bedeutet, dass Sie einen unterbrochenen Abruf nicht fortsetzen können, ohne alle zuvor abgerufenen E-Mails erneut abzurufen.
fetchall Ruft
sowohl alte (gesehen) als auch neue Nachrichten vom Mailserver ab. Standardmäßig werden nur Nachrichten abgerufen, die der Server nicht als sichtbar markiert hat.keep
Erhält Nachrichten auf dem Remote-Mailserver. Normalerweise werden Nachrichten aus dem Ordner auf dem Mailserver gelöscht, nachdem sie abgerufen wurden.
Möglicherweise interessieren Sie sich für Offline-Google Mail ( Überprüfung ).
Aktualisieren:
Ein Teil der Schwierigkeit besteht darin, dass, wie Sie sicher wissen, IMAP so konzipiert ist, dass alle E-Mails an einem Ort aufbewahrt werden und Sie online auf diesen Dienst von einer Vielzahl von Clients aus zugreifen, die alle dieselbe Ansicht haben. Ein POP-Dienst erwartet, dass Sie alle Ihre E-Mails auf einen einzelnen lokalen Client herunterladen (und vom POP-Server löschen). Was Sie zu tun versuchen, ist weder das eine noch das andere. Fetchmail versucht, dies zu tun, indem nur Nachrichten heruntergeladen werden, die als ungelesen markiert sind. Wenn Sie einige Nachrichten als gelesen markieren, indem Sie mit einem Client auf den IMAP-Server zugreifen, zeigt der Server diese Nachrichten nicht an fetchmail an, wenn er nach ungelesenen Nachrichten fragt. Sie möchten einen lokalen Spiegel Ihres IMAP-Postfachs unabhängig vom Nachrichtenstatus. Ich weiß nicht, wie man fetchmail dazu benutzt.