]> git.g-eek.se Git - interimap.git/commitdiff
pullimap: Don't rely on the last purged timestamp when purge-after=0.
authorGuilhem Moulin <guilhem@fripost.org>
Tue, 8 Mar 2016 17:02:10 +0000 (18:02 +0100)
committerGuilhem Moulin <guilhem@fripost.org>
Tue, 8 Mar 2016 17:02:10 +0000 (18:02 +0100)
pullimap
pullimap.1

index c3fd4a0179c35db0ab4440267bc87281960b569d..c16d6acc4c4733885043525c7934f0d1195c71ee 100755 (executable)
--- a/pullimap
+++ b/pullimap
@@ -234,11 +234,11 @@ sub purge() {
     return unless 1<$uidnext;
     my $set = "1:".($uidnext-1);
 
-    my $now = time;
-    return if defined $LAST_PURGED and $now - $LAST_PURGED < 6*3600;
-    $LAST_PURGED = $now;
-
     unless ($days == 0) {
+        my $now = time;
+        return if defined $LAST_PURGED and $now - $LAST_PURGED < 6*3600; # purge every 6h
+        $LAST_PURGED = $now;
+
         my @now = gmtime($now - $days*86400);
         my @m = qw/Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec/; # RFC 3501's date-month
         my $date = sprintf("%02d-%s-%04d", $now[3], $m[$now[4]], $now[5]+1900);
index 746e2ffbcebf3c50d92ef7031ba8f33c01e0a6c5..57a4adf873411bdcb2b7f5e69ee4efe520780edc 100644 (file)
@@ -114,7 +114,9 @@ Retention period (in days), after which messages are removed from the
 IMAP server.  (The value is at best 24h accurate due to IMAP SEARCH
 criterion ignoring time and timezone.)
 If \fIpurge\-after\fR is set to \(lq0\(rq then messages are deleted
-immediately after delivery.
+immediately after delivery.  Otherwise \fBPullIMAP\fR issues an IMAP
+SEARCH command to list old messages; if \fB\-\-idle\fR is set then the
+SEARCH command is issued again every 6 hours.
 
 .TP
 .I type