I just committed a very early initial implementation of "imapc" storage backend to v2.1 hg: http://hg.dovecot.org/dovecot-2.1 You can't really do anything except open INBOX and read mails from it, so it's currently only intended for initial testing. It sucks in many ways right now, but I'll be improving it. The idea is that you could set for example: mail_location = imapc:imap.gmail.com And then Dovecot could act as a proxy to gmail. It won't actually work currently with gmail, because there's no SSL support for outgoing connections. Currently index files are forcibly disabled, but it would be easy to enable them, allowing Dovecot to do caching locally to improve performance. In future perhaps it will also support caching message headers/bodies to avoid unnecessary traffic. Besides the mail_location setting, you'll need to also forward the user's password to imap process in "pass" userdb extra field. How to do that depends on what passdb/userdb you're using. While testing you could simply set a static password: plugin { pass = yourpassword } -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: This is a digitally signed message part URL: <http://dovecot.org/pipermail/dovecot/attachments/20110116/e29d4c32/attachment-0002.bin>
On 16/01/2011 16:18, Timo Sirainen wrote:> I just committed a very early initial implementation of "imapc" storage > backend to v2.1 hg: http://hg.dovecot.org/dovecot-2.1I know "me too" posts aren't that useful, but this does sound like a terrific direction. Thanks for development Ed W
On Sun, 2011-01-16 at 18:18 +0200, Timo Sirainen wrote:> I just committed a very early initial implementation of "imapc" storage > backend to v2.1 hg: http://hg.dovecot.org/dovecot-2.1This is "fully functional" now, at least in theory. TODO: * SSL/TLS support to remote server * Don't read entire message bodies into a string in memory * Fetch more than one message at a time when it's known that more messages are going to be fetched * Support locally stored indexes * Error handling could be better * Eventually make lib-storage API more asynchronous -> make imapc more asynchronous Some potential (future) uses for imapc include: * Locally caching IMAP proxy * Maybe even fully transparent proxy to client, so at office it would be using Dovecot proxy while at home it would connect directly to remote server. (A bit tricky with SSL connections, but possible I'd think.) * Filtering proxy that modifies messages on the fly * Fixing Exchange's (and everyone else's) IMAP support by being in front of it * Could be used for sharing mailboxes across multiple Dovecot servers without shared storage * Easy "perfect migration" from any IMAP server to Dovecot with dsync
On 02/01/2011 10:20 AM, Timo Sirainen wrote:> imapc settings have moved away from plugin {} section and mail_location. > > #imapc_user = %u # default > imapc_password = secretIs there a way to pass through a password like is done with the user name?
On 01/-10/-28163 08:59 PM, Timo Sirainen wrote:> imapc settings have moved away from plugin {} section and mail_location. > Now instead use: > > mail_location = imapc: > > imapc_host = imap.example.com > #imapc_port = 143 # default > > #imapc_user = %u # default > imapc_password = secret > > imapc_ssl = no # or imaps or starttls > imapc_ssl_ca_dir = /etc/ssl/certs > > Note the imapc_password change also. If passdb/userdb returned > userdb_pass/pass previously, return now instead > userdb_imapc_password/imapc_password.I get the following error in the log: Feb 6 00:17:44 hostname dovecot: auth: static(user.name at domain.ch,127.0.0.1): No password Feb 6 00:17:44 hostname dovecot: imap-login: Login: user=<user.name at domain.ch>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=20283, secured Feb 6 00:17:44 hostname dovecot: master: Error: service(imap): child 20283 killed with signal 11 (core dumps disabled) dovecot -n # 2.1.UNSTABLE (4e4c7f982fd5): /usr/local/etc/dovecot/dovecot.conf # OS: Linux 2.6.32-27-generic i686 Ubuntu 10.04.1 LTS auth_debug = yes auth_debug_passwords = yes auth_verbose = yes debug_log_path = /home/local_user/dovecot.log default_login_user = nobody imapc_host = mail.domain.ch mail_debug = yes mail_gid = local_user mail_home = /var/run/dovecot/empty mail_location = imapc: mail_plugins = mail_filter mail_uid = local_user passdb { args = nopassword=y userdb_imapc_password=%w driver = static } plugin { imapc_password = secret mail_filter = mail-filter %u mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename mail_log_fields = uid box msgid size from subject } protocols = imap service mail-filter { executable = script /home/local_user/mydata/workspace_perl/sec_dovecot_filter/sec_dovecot_filter.pl unix_listener mail-filter { mode = 0666 user = root } user = local_user } ssl = no userdb { driver = prefetch } Andy idea how to resolve. Thanks, Mike
On 6.2.2011, at 1.23, Mike Korizek wrote:> Feb 6 00:17:44 hostname dovecot: master: Error: service(imap): child > 20283 killed with signal 11 (core dumps disabled)..> # 2.1.UNSTABLE (4e4c7f982fd5): /usr/local/etc/dovecot/dovecot.conf4e4c7f982fd5 was a buggy version that always crashed at startup. I fixed it a couple of days ago.