[Dovecot] From Maildir back to smtp

Marc Perkel marc at perkel.com
Fri Feb 24 19:09:12 EET 2012

On 2/24/2012 4:18 AM, Charles Marcus wrote:
> On 23/02/2012 21:41, Marc Perkel wrote:
>> Not sure how this can be done.
>> Right now I'm running a free backup MX record service. People point
>> their high MX records to my servers and if they go down we store the
>> email. When they come back up it's delivered.
>> What I want to do is have a premium service that would allow them to
>> view through IMAP the stored email. In order to do that I would have
>> to deliver the email locally to a dovecot server - to a single account
>> perhaps - and they can view/forward/delete etc.
>> But - when their server comes back online I'd like to gather up all
>> the delivered email stored in Maildir format and run it back into smtp
>> for delivery.
> I'm thinking it would be possible to use dsync for this? Ideally you 
> would have to have a way to maintain a duplicate of the AUTH database, 
> so that users could use their current passwords for accessing it (this 
> would obviously require the approval and cooperation of whoever you 
> are providing this service to), but this way you could store each 
> users mail individually and provide relatively painless access (since 
> all each user would need to know is the backup host name and their 
> username/password).
> You'd have to configure a script on your end to:
> 1. determine a reliable way to differentiate between a temp-fail 
> situation on the primary (in which case you just act as a normal 
> backup MX), or an extended outage (15 minutes? 1 hour? I'd probably 
> let the customer decide this one), which would determine when you 
> start actually taking delivery of their mail to the 'standby' server
> 2. monitor for when the primary comes back online
> 3. wait xx interval to make sure the primary stays up (again, I'd let 
> the customer decide this, but with a sane minimum that you define)
> 4. once the primary stays up for the required interval, dsync a one 
> way 'dump' of the stored mails, being sure to test for success - and 
> this process would obviously have to take into account the possibility 
> of the primary going down again in the middle of the dsync
> 5. mv successfully restored mails on the backup mx to a temp location 
> for xx 'safety' interval 'just in case'
> 6. delete the backed-up/stored mail that has been successfully dsync'd 
> after the safety interval has elapsed

I was wondering if I could just gather up the maildir files, reprocess 
them into batch SMTP format and run them back into Exim?

More information about the dovecot mailing list