[Dovecot] Released Pigeonhole v0.4.0 for Dovecot v2.2.1.

Stephan Bosch stephan at rename-it.nl
Fri May 10 00:23:28 EEST 2013


On 5/9/2013 6:05 PM, Charles Marcus wrote:
> On 2013-05-09 10:35 AM, Stephan Bosch <stephan at rename-it.nl> wrote:
>
>> Currently, I'm building an SMTP submission proxy server.
>
> Can you elaborate on this?

It basically acts as a front-end to your normal MTA. First of all, it 
provides a convenient way to add SMTP AUTH support to any MTA. But the 
main goal for this project is to implement an SMTP submission server 
with full support for the LEMONADE profile 
(https://tools.ietf.org/html/rfc4550). It acts as a proxy server, so it 
doesn't queue anything; once the client sees a success reply for the 
message submission, it is already accepted in the actual MTA queue.

For authentication it uses the normal Dovecot login strategy. This means 
that after authentication, it can run with the user's privileges and 
access the user's mail storage directly. However, I also plan to provide 
support for running it as a completely unprivileged service.

> Does this mean for example, that we could use dovecot as our 
> submission server ...

Yes.

> ... and auto-save-to-sent, avoiding the overhead of the 'Copy to Sent' 
> behavior we are currently forced to use where a message is first 
> uploaded when it is sent, then again when it is saved to the sent folder?

Depends a bit on what you have in mind. The LEMONADE profile has a 
forward-without-download scheme for this, using the SMTP BURL extension 
(https://tools.ietf.org/html/rfc4468) and IMAP CATENATE 
(https://tools.ietf.org/html/rfc4469) and URLAUTH 
(https://tools.ietf.org/html/rfc4467). Using CATENATE, the client can 
combine existing message parts with new text to compose a new message. 
Using SMTP BURL and IMAP URLAUTH, the SMTP server can access that 
message directly from the IMAP server without the need for the client to 
download it first.

Some more direct approach is also possible, e.g. let the submission 
server store the message in the Sent folder implicitly (as Google 
apparently does). This has a few problems though, mainly that the mail 
client will have to be configured correctly not to store an additional 
copy of its own. Unfortunately, there is no standardized method of 
signalling this from server to client. Google probably filters out the 
duplicates, we don't really know. Also, which folder does the user use 
as Sent folder? We could use the IMAP SPECIAL-USE 
(https://www.ietf.org/rfc/rfc6154.txt) extension to find out. Anyway, 
adding support for implicitly storing sent messages in the \Sent folder 
should be easy enough, but it is not a fool-proof solution. Timo was 
discussing this a while back on the SMTP mailinglist, but people there 
weren't too enthusiastic about standardizing a feature like this so far.

> This would be awesome, as we deal with a lot of large attachments, and 
> when people are working from home, it can take many many seconds (even 
> a minute or so for very large attachments depending on their internet 
> connection speed) to send, and then it has to do it all over again to 
> save to sent.

The LEMONADE profile is rather elaborate and not many clients or servers 
support it yet. I'm hoping that by providing a chicken, more eggs will 
follow soon.

To provide some sort of solution for the short term, I guess I'll just 
add an optional auto-save-to-sent feature. When the submission service 
has direct access to the user's mail storage, that is trivial to 
implement. However, if the submission service is unprivileged, that will 
be a little more difficult. Probably, in that case I'll make it use a 
special support service to perform the actual delivery to the sent 
folder. Any suggestions are welcome.

Regards,

Stephan.







More information about the dovecot mailing list