[Dovecot] maildir maintenance?

Brian Kroth bpkroth at gmail.com
Fri Nov 26 17:30:27 EET 2010


Timo Sirainen <tss at iki.fi> 2010-11-26 15:15:
> On Fri, 2010-11-26 at 09:03 -0600, Brian Kroth wrote:
> > 
> > So, I redid this in Perl to only use IMAP rather than any sudo or find
> > calls.  In theory then one doesn't need to worry about the indexes being
> > out of sync.  I still skipped over the "strange characters" mailboxes
> > for the moment.  I'm wondering what you think of this second rendition? 
> 
> Using some IMAP parser would be much more robust than doing it via
> regexps. Then you wouldn't have to worry about strange characters
> either.

*sigh*

Should have started there.  It appears there's a nice module that even
has an example for talking to Dovecot via preauth:
http://search.cpan.org/~jettero/Net-IMAP-Simple-1.2018/Simple.pod#PREAUTH

Thanks again,
Brian

> > if ($line =~ qr/^\* (LIST|LSUB) \((\\Has(No)?Children)?\) "\/" "(.+)"\s*$/) {
> 
> Just ignore the flags in the middle, there might be others: \([^)]*\)
> 
> > if ($line =~ /^\* [0-9]+ FETCH \(UID ([0-9]+) X-SAVEDATE "([0-9]{1,2}-[A-Z][a-z][a-z]-[0-9]{4} [0-9][0-9]:[0-9][0-9]:[0-9][0-9] [0-9+-]+)" FLAGS \(([^)]+)\) ENVELOPE \((.*)\)\)\s*$/) {
> 
> ENVELOPE reply might not be in one line either. For example see what
> happens if subject has " character.
> 
> If the list of UIDs is really large, sending a command might fail
> because the command line is too long (imap_max_line_length setting).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
Url : http://dovecot.org/pipermail/dovecot/attachments/20101126/3173df15/attachment.bin 


More information about the dovecot mailing list