[Dovecot] processing Dovecot maildirs with shell scripts

M. Fioretti mfioretti at nexaima.net
Fri Aug 31 00:52:56 EEST 2007


On Tue, Aug 28, 2007 01:03:13 AM +0300, Timo Sirainen (tss at iki.fi)
wrote:

> > Basically, I need to write some shell scripts that, from cron
> > jobs, regularly do this:
> > 
> > foreach file in some_incoming_mailbox/new/
> >  do
> >  #process the file and/or set some variable according to its content
> >  delete the file or
> >  mv it to some_other_maildir/new/
> 
> So what happens if Dovecot sees the mail and moves it to cur/ before you
> had a chance to do that? If you really need to see all the new mails,
> then you'll need to figure out some way to handle that, such as add a
> new private flag for all processed messages.
> 
> Or you could deliver mails to some private maildir that Dovecot doesn't
> see, and process the messages from there to maildirs that Dovecot sees.
> 

Yes, this is exactly what I want to do, sorry if it wasn't clear from
the beginning. I am not going to _create_ messages, or _remove_ them
under Dovecot's nose.

I have procmail delivering to:

aux_maildir_1/
aux_maildir_2/
...
aux_maildir_N/
INBOX

these scripts must only delete or move (not create or rename!)
files/messages, with certain criteria and at certain times, from the
aux_maildirs only to INBOX and INBOX.one, INBOX.two, INBOX.number

Dovecot only sees the INBOX* folders. Under these constraints I'm
safe, am I not?  Also, since all the file names are created by
procmail (there is nobody else injecting email from the outside) I can
count on them being always unique, right?

> mv, rm and ln are always safe. Just don't ever write to new mail files
> in new/ or cur/ directory, because then Dovecot might read partially
> written files. That means that "cp file new/" isn't safe, but "ln file
> new/" is.

Er.. sorry, what do you mean exactly here? where is "file" where I
link to new? What is the complete, exact sequence of Unix commands to
safely go from:

aux_maildir_1/new/some_file

to, say,

INBOX.one/new/some_file

TIA,
	Marco

-- 
Help *everybody* love Free Standards and Free Software
http://digifreedom.net/


More information about the dovecot mailing list