Quoting Rick Romero rick@havokmon.com:
Quoting "William L. Thomson Jr." wlt-ml@o-sinc.com:
On Monday, July 11, 2016 10:53:05 AM Rick Romero wrote:
I don't think that'll help. From what I understand, LMTP is required for replication on delivery.
Where did you come across that requirement? I do not recall that.
Hmmm I can't seem to find any reference to it. Maybe it was from the old blog -
http://blog.dovecot.org/2012/02/dovecot-clustering-with-dsync-based.html
My understanding/assumption is that LDA delivers and updates indexes. I assume using LMTP delivers, updates indexes and kicks off a quick sync.
Out of curiousity, why do you use SMTP from the MX to the destination
server instead of LMTP?
My reason is because qmail does not support that. I am not sure if I will migrate to exim or postfix. Seems others have inquired about LMTP with qmail, might be something out there.
I use qmail as well - that's why I wrote/hacked the LMTP script :)
I've gotten replication working with both LDA and LMTP. Though I believe the LDA replication that I've seen is actually from the IMAP notify/replicaiton plugin. I've only done some preliminary testing. LMTP replication is imemdiate when I use my LMTP perl script instead of procmail or vdelivermail. Otherwise, as I said with LDA above, I'm not sure how dovecot would know the indexes change from the front-end NFS mounted MX.
In any case, what I got stuck on was the mail_plugins. The Replication page seems to just refer to the global plugin settings, but you also have to add them to each service. That finally worked.
protocol imap { imap_client_workarounds = delay-newmail tb-extra-mailbox-sep mail_max_userip_connections = 25 mail_plugins = " quota zlib stats notify replication imap_zlib quota imap_quota NOTIFY REPLICATION" } protocol pop3 { mail_max_userip_connections = 25 mail_plugins = quota NOTIFY REPLICATION pop3_client_workarounds = outlook-no-nuls oe-ns-eoh pop3_uidl_format = %08Xu%08Xv } protocol lda { mail_plugins = sieve REPLICATION NOTIFY userdb { args = /usr/local/etc/dovecot/dovecot-sql.conf driver = sql name = } } protocol lmtp { info_log_path = /var/log/dovecot-lmtp.log mail_plugins = sieve quota REPLICATION NOTIFY userdb { args = /usr/local/etc/dovecot/dovecot-sql.conf driver = sql name = } }
Rick