Dave Abrahams dave at
Mon Sep 26 13:57:54 BST 2011

on Mon Sep 26 2011, Sebastian Spaeth <> wrote:

> On Fri, 23 Sep 2011 23:24:05 -0400, Dave Abrahams <dave at> wrote:
>> The example conf file includes this unexplained segment:
>> # The trash folder name may be different from [Gmail]/Trash
>> # for example on german googlemail, this setting should be
>> #
>> # trashfolder = [Google Mail]/Papierkorb
>> #
>> # The same is valid for the spam folder
>> #
>> # spamfolder = [Google Mail]/Spam
>> I understand the significance of trashfolder of course, but what is
>> offlineimap's interest in spamfolder?
> An interesting bit of undocumented Gmail implementation, I would
> appreciate a patch to fix/improve our docs :-)
>         #: Gmail will really delete messages upon EXPUNGE in these folders
>         self.real_delete_folders =  [ self.trash_folder, repository.getspamfolder() ]
> Thing is, removing a mail from a gmail folder will not *really* delete
> it but merely removing the coresponding tag. Apparently EXPUNGING mails
> in the trash and the spam folder will *really* delete the message (also
> From all other folders it is in).
> So when we want to delete a gmail mail with "realdelete=True", we need
> to know whether we can simply delete it in that folder, or whether we
> need to shove it into the Trash folder and EXPUNGE there.

So... this is an optimization to avoid moving the message from Spam to

> a) It would be nice to improve our docs and 
> b) a patch would be nice that detected those folders automatically using
>    XLIST, rather than LIST.

b) is way beyond my pay grade

Dave Abrahams
BoostPro Computing

More information about the OfflineIMAP-project mailing list