On Wed, 2009-12-09 at 23:30 -0200, Alex Baule wrote:
Let me explain to you....
i want to split the email in header and body...my smtp server do this for me.... but, to read again in dovecot, i need to "point" the email to this two files.
This division in two parts is more like a test... and if the dovecot can join again this two files in "read time" is good for me....
So you're thinking maybe you get better performance that way, or something? I was first thinking you'd want to add some automatic signature that gets modified once in a while, that wouldn't have worked.
But yeah, you could do this with Maildir in a similar way than zlib plugin works. Instead of using i_stream_create_zlib(), you'd open the other file with i_stream_create_fd() and then make i_stream_create_concat() use both of the streams. Should be pretty easy to implement based on the zlib plugin code.
Also when messages get expunged, you'd also need to delete the other file yourself. You can do that the same way as quota plugin decreases quota when message gets deleted.
See http://wiki.dovecot.org/Design for more information about istreams and some other Dovecot code docs.