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.

Reply via email to