[Dovecot] A X-Mailbox header?

Timo Sirainen tss at iki.fi
Mon Jun 22 18:35:58 EEST 2009


On Jun 22, 2009, at 6:49 AM, Alessandro Ranellucci wrote:

> I was wondering if there's a way to keep the name of the folder  
> containing each message while retrieving via POP3. I guess this  
> could be done by dynamically adding a header to messages at  
> retrieval time. Is there a feature for this or a plugin API?

It's possible to implement as a plugin, but it probably won't be all  
that easy.

> Otherwise I was thinking about modifying the messages themselves on  
> the server using a script. However, such a script would need to be  
> run when a IMAP user moves a message to a folder and I believe  
> Dovecot doesn't provide a trigger/hook mechanism.

There are copy/save virtual functions that you can override. For  
example something similar to what antispam plugin does.

> I also don't know if modifying stored messages is allowed since it  
> could break some caching/hashing mechanism.

Right. You can't modify existing messages. But at the time when a  
message is copied to another mailbox, you can save a slightly  
different version of it. This of course also means that you can't do  
the copying by hard linking a file (assuming you're using maildir).

Hmm. Out of these two possibilities, I think it's easier to just  
return a modified message from mail_get_stream(). You could probably  
do something similar to what mbox does and use  
i_stream_create_header_filter() where you simply return a new X- 
Mailbox: header after the headers are sent.



More information about the dovecot mailing list