]> git.g-eek.se Git - interimap.git/commitdiff
pullimap: don't FETCH messages BODY if --no-delivery is set.
authorGuilhem Moulin <guilhem@fripost.org>
Tue, 8 Mar 2016 16:49:47 +0000 (17:49 +0100)
committerGuilhem Moulin <guilhem@fripost.org>
Tue, 8 Mar 2016 16:49:47 +0000 (17:49 +0100)
pullimap

index d2de66f0c5d5a0bebb9c75670d2c392a0054a640..c3fd4a0179c35db0ab4440267bc87281960b569d 100755 (executable)
--- a/pullimap
+++ b/pullimap
@@ -254,7 +254,8 @@ sub purge() {
 
 # Use BODY.PEEK[] so if something gets wrong, unpulled messages
 # won't be marked as \Seen in the mailbox
-my $ATTRS = "ENVELOPE INTERNALDATE BODY.PEEK[]";
+my $ATTRS = "ENVELOPE INTERNALDATE";
+$ATTRS .= " BODY.PEEK[]" unless $CONFIG{'no-delivery'};
 
 # Pull new messages from IMAP and deliver them to SMTP, then update the
 # statefile
@@ -265,7 +266,7 @@ sub pull(;$) {
     # invariant: we're at pos 8 + 4*(1+$#ignore + 1+$#uids) in the statefile
     $IMAP->pull_new_messages($ATTRS, sub($) {
         my $mail = shift;
-        return unless exists $mail->{RFC822}; # not for us
+        return unless exists $mail->{RFC822} or $CONFIG{'no-delivery'}; # not for us
 
         my $uid = $mail->{UID};
         my $from = first { defined $_ and @$_ } @{$mail->{ENVELOPE}}[2,3,4];