Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox
On Thu, 2007-08-09 at 20:43 +0200, Bernd Kuhls wrote: > Big thanks! Your patch fixed the bug, now I can throw away my ugly > work-arounds for this. Weird enough I did not activate mbox_lazy_writes. It's the default when imap/pop3 is started by Dovecot master, but I was testing it by running imap directly.. signature.asc Description: This is a digitally signed message part
Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox
Hi, Timo Sirainen wrote: On Fri, 2007-07-06 at 11:54 +0200, Bernd Kuhls wrote: - The index for $HOME/.imap_mail/inbox is created in $HOME/.imap_mail/.imap/inbox/, while the indexes for other mbox files are created in /var/mail/indexes/%u, like its supposed to be. How to disable creating index files in $HOME altogether without using links? This is a bit problematic to fix because of how it works internally. ok, not a big problem for me. I can live with the current situation. - if /var/mail/$user does not exist, syslog is cluttered with these messages for each POP3/IMAP login: Jun 10 22:33:33 server dovecot: IMAP(someuser): stat() failed with mbox file /var/mail/someuser: No such file or directory I can't reproduce this. Since your patch below the snarf-bug is gone, Dovecot creates a zero-byte file for /var/mail/$user now. Looks like this is broken only with mbox_lazy_writes=yes, which is why I didn't notice it first. And looks like it's a bug in Dovecot itself. Fixed: http://hg.dovecot.org/dovecot-1.0/rev/1b6c41524c6a Big thanks! Your patch fixed the bug, now I can throw away my ugly work-arounds for this. Weird enough I did not activate mbox_lazy_writes. # dovecot -n # 1.0.3: /etc/dovecot/dovecot.conf log_path: /var/log/dovecot/dovecot.main log_timestamp: %Y-%m-%d %H:%M:%S protocols: imap imaps pop3 pop3s login_dir: /var/run/dovecot/login login_executable(default): /usr/lib/dovecot/imap-login login_executable(imap): /usr/lib/dovecot/imap-login login_executable(pop3): /usr/lib/dovecot/pop3-login mail_extra_groups: mail mail_location: mbox:~/.imap_mail:INBOX=/var/mail/%u:INDEX=/var/mail/indexes/%u mail_executable(default): /usr/lib/dovecot/imap mail_executable(imap): /usr/lib/dovecot/imap mail_executable(pop3): /usr/lib/dovecot/pop3 mail_plugins(default): quota imap_quota mbox_snarf mail_plugins(imap): quota imap_quota mbox_snarf mail_plugins(pop3): mbox_snarf mail_plugin_dir(default): /usr/lib/dovecot/modules/imap mail_plugin_dir(imap): /usr/lib/dovecot/modules/imap mail_plugin_dir(pop3): /usr/lib/dovecot/modules/pop3 imap_client_workarounds(default): outlook-idle netscape-eoh tb-extra-mailbox-sep delay-newmail imap_client_workarounds(imap): outlook-idle netscape-eoh tb-extra-mailbox-sep delay-newmail imap_client_workarounds(pop3): outlook-idle pop3_uidl_format(default): pop3_uidl_format(imap): pop3_uidl_format(pop3): %08Xu%08Xv auth default: passdb: driver: pam userdb: driver: passwd plugin: quota: fs mbox_snarf: ~/.imap_mail/inbox Happy greetings, Bernd Kuhls
Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox
On Fri, 2007-07-06 at 11:54 +0200, Bernd Kuhls wrote: > mail_location = > mbox:~/.imap_mail:INBOX=/var/mail/%u:INDEX=/var/mail/indexes/%u > > mbox_snarf = ~/.imap_mail/inbox > > - The index for $HOME/.imap_mail/inbox is created in >$HOME/.imap_mail/.imap/inbox/, while the indexes for other mbox files >are created in /var/mail/indexes/%u, like its supposed to be. How to >disable creating index files in $HOME altogether without using links? This is a bit problematic to fix because of how it works internally. > - if /var/mail/$user does not exist, syslog is cluttered with these >messages for each POP3/IMAP login: > >Jun 10 22:33:33 server dovecot: IMAP(someuser): stat() failed with >mbox file /var/mail/someuser: No such file or directory I can't reproduce this. export MAIL_PLUGINS=mbox_snarf export MBOX_SNARF=~/mbox export MAIL=mbox:~/mail4:INBOX=/var/mail/tss:INDEX=/tmp/index rm -rf ~/mbox ~/.imap ~/mail4 /var/mail/tss ./imap x select inbox --> no errors rm -rf ~/mbox ~/.imap ~/mail4 /var/mail/tss touch ~/mbox ./imap x select inbox --> no errors What plugins are you using? > - the biggest problem is the following scenario: >- /var/mail/$user does not exist >- Exim can not deliver a mail to $HOME/.imap_mail/ so a second router > comes into action and delivers the mail to /var/mail/$user >- /var/mail/$user now only contains the mail, without the IMAP headers > Dovecot normally writes to a mbox file >- the user logs into the account and Dovecot tries to snarf the mail >- if snarfing is sucessful Dovecot must delete the mail from > /var/mail/$user, but this fails due to the missing IMAP headers >- when the user logs into the account the next time the mail is > snarfed again, this can be repeated endlessly >- the only situation where the snarf plugin works like expected is > when /var/mail/$user contains the IMAP headers Looks like this is broken only with mbox_lazy_writes=yes, which is why I didn't notice it first. And looks like it's a bug in Dovecot itself. Fixed: http://hg.dovecot.org/dovecot-1.0/rev/1b6c41524c6a signature.asc Description: This is a digitally signed message part
Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox
Bernd Kuhls wrote: I am using Dovecot 1.0.0, might updating to 1.0.1 help fixing some of the problems mentioned above? Hi, updated to Dovecot 1.0.3, but all the mentioned problems still exist. Greetings, Bernd
Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox
Timo Sirainen wrote: http://dovecot.org/patches/mbox-snarf-plugin.c Hi, small update from an end-user of this plugin: generally it works like expected, but some problems I mentioned are not solved yet. Here are my main config settings: mail_location = mbox:~/.imap_mail:INBOX=/var/mail/%u:INDEX=/var/mail/indexes/%u mbox_snarf = ~/.imap_mail/inbox - The index for $HOME/.imap_mail/inbox is created in $HOME/.imap_mail/.imap/inbox/, while the indexes for other mbox files are created in /var/mail/indexes/%u, like its supposed to be. How to disable creating index files in $HOME altogether without using links? - if /var/mail/$user does not exist, syslog is cluttered with these messages for each POP3/IMAP login: Jun 10 22:33:33 server dovecot: IMAP(someuser): stat() failed with mbox file /var/mail/someuser: No such file or directory - the biggest problem is the following scenario: - /var/mail/$user does not exist - Exim can not deliver a mail to $HOME/.imap_mail/ so a second router comes into action and delivers the mail to /var/mail/$user - /var/mail/$user now only contains the mail, without the IMAP headers Dovecot normally writes to a mbox file - the user logs into the account and Dovecot tries to snarf the mail - if snarfing is sucessful Dovecot must delete the mail from /var/mail/$user, but this fails due to the missing IMAP headers - when the user logs into the account the next time the mail is snarfed again, this can be repeated endlessly - the only situation where the snarf plugin works like expected is when /var/mail/$user contains the IMAP headers To circumvent this problem I created a cronjob running once per minute which creates /var/mail/$user for $HOME/* with this content: From MAILER_DAEMON Sat Apr 21 19:48:15 2007 Date: Sat, 21 Apr 2007 19:48:15 +0200 From: Mail System Internal Data <[EMAIL PROTECTED]> Subject: DON'T DELETE THIS MESSAGE -- FOLDER INTERNAL DATA Message-ID: <[EMAIL PROTECTED]> X-IMAP: 1177169799 003411 NonJunk Junk $Forwarded Status: RO This text is part of the internal format of your mail folder, and is not a real message. It is created automatically by the mail system software. If deleted, important folder data will be lost, and it will be re-created with the data reset to initial values. This solution is annoying because it does not really fix the problem. Can you help me with this problem? I am using Dovecot 1.0.0, might updating to 1.0.1 help fixing some of the problems mentioned above? Greetings, Bernd
Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox
Timo Sirainen wrote: mail_location = mbox:~/mail:INBOX=/var/mail/%u Hi, I am using Dovecot 1.0.0 (will soon update to 1.0.1) using your patch. This is my mail_location setting: mail_location = mbox:~/.imap_mail:INBOX=/var/mail/%u:INDEX=/var/mail/indexes/%u The index for $HOME/.imap_mail/inbox is however created in $HOME/.imap_mail/.imap/inbox/, while the indexes for other mbox files are created in /var/mail/indexes/%u, like its supposed to be. Is this a bug or a misconfiguration on my part? Greetings, Bernd Kuhls
Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox
Timo Sirainen wrote: On 10.6.2007, at 23.10, Bernd Kuhls wrote: This mailbox is snarfed by Dovecot each time the Inbox is opened, because the mail is not deleted from /var/mail$user, although Dovecot successfully snarfed the mail to /home/$user/.imap_mail/inbox. /home/$user is not overquota. Check your error log. I'm pretty sure there's something in there (http://wiki.dovecot.org/Logging). Hi, yesterday I tried with Dovecot 1.0rc15-2 (Debian Etch stable), today I made a backport of the Debian testing package Dovecot 1.0.0-2 to Etch to test the mbox-snarf plugin. Unfortunately the same problem is present in the new version, also without any hints in the logfile. Greetings, Bernd Kuhls
Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox
Timo Sirainen wrote: On 10.6.2007, at 23.10, Bernd Kuhls wrote: This mailbox is snarfed by Dovecot each time the Inbox is opened, because the mail is not deleted from /var/mail$user, although Dovecot successfully snarfed the mail to /home/$user/.imap_mail/inbox. /home/$user is not overquota. Check your error log. I'm pretty sure there's something in there (http://wiki.dovecot.org/Logging). Hi, nothing interesting found. The only message I saw, and which I would see disabled, is this one: Jun 10 22:33:33 bach dovecot: IMAP(ulfb): stat() failed with mbox file /var/mail/someuser: No such file or directory someuser is a valid mail user, where Dovecot uses /home/someuser/.imap_mail/ to store email, but Exim has never created /var/mail/someuser because the user never was over-quota. Having this log message all the time when 100+ users are using their mail accounts is a bit nasty;-) Here are the log entries of a user with /var/mail/$user present: Jun 10 22:22:27 bach dovecot: imap-login: Login: user=, method=plain, rip=x.x.x.x, lip=y.y.y.y.y, TLS Jun 10 22:27:24 bach dovecot: IMAP(user): Disconnected: Logged out During this imap session the mails from /var/mail/$user were snarfed to $HOME/.imap_mail/inbox, but the snarfed mails from /var/mail/$user were not deleted. Jun 10 22:28:47 bach dovecot: imap-login: Login: user=, method=plain, rip=x.x.x.x, lip=y.y.y.y, TLS Jun 10 22:28:53 bach dovecot: IMAP(user): Disconnected: Logged out Jun 10 22:29:00 bach dovecot: imap-login: Login: user=, method=plain, rip=x.x.x.x, lip=y.y.y.y, TLS Jun 10 22:29:03 bach dovecot: IMAP(user): Disconnected: Logged out Then I restarted the mailclient (Thunderbird 2.0) twice, the mails from /var/mail/$user were snarfed again and I saw these mails three times in my imap inbox. No other log messages are present and /var/mail/$user still holds the mails already snarfed three times. Only from a file with mbox index the mails get deleted during snarf process by Dovecot. Greetings, Bernd Kuhls
Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox
On 10.6.2007, at 23.10, Bernd Kuhls wrote: This mailbox is snarfed by Dovecot each time the Inbox is opened, because the mail is not deleted from /var/mail$user, although Dovecot successfully snarfed the mail to /home/$user/.imap_mail/inbox. /home/$user is not overquota. Check your error log. I'm pretty sure there's something in there (http://wiki.dovecot.org/Logging). PGP.sig Description: This is a digitally signed message part
Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox
Hi, Bernd Kuhls wrote: It managed to copy the contents of a mbox from /var/mail/$user to /home/$user/.imap_mail/inbox, well done! I have yet to conduct more testing I did that now and I found another problem. If /var/mail/$user does not exist, its created by Exim when delivering a mail, the content of the file looks like this: From [EMAIL PROTECTED] Sun Jun 10 22:00:16 2007 Return-path: <[EMAIL PROTECTED]> Envelope-to: [EMAIL PROTECTED] Delivery-date: Sun, 10 Jun 2007 22:00:16 +0200 Received: from withoutHELO (noIP) by localhost (Exim 4.63) id 1HxTa9-0005dE-0Q; Sun, 10 Jun 2007 22:00:13 +0200 To: [EMAIL PROTECTED] Subject: test Date: Sun, 10 Jun 2007 22:00:16 +0200 test > This mailbox is snarfed by Dovecot each time the Inbox is opened, because the mail is not deleted from /var/mail$user, although Dovecot successfully snarfed the mail to /home/$user/.imap_mail/inbox. /home/$user is not overquota. I found the reason for this, in contrast to the bevaviour described above my first test was done with a /var/mail/$user mbox which had an uw-imap style index, like this: From MAILER_DAEMON Sat Apr 21 19:48:13 2007 Date: Sat, 21 Apr 2007 19:48:13 +0200 From: Mail System Internal Data <[EMAIL PROTECTED]> Subject: DON'T DELETE THIS MESSAGE -- FOLDER INTERNAL DATA Message-ID: <[EMAIL PROTECTED]> X-IMAP: 1177169873 82 NonJunk Status: RO This text is part of the internal format of your mail folder, and is not a real message. It is created automatically by the mail system software. If deleted, important folder data will be lost, and it will be re-created with the data reset to initial values. After Exim delivered a mail to a file having this content, Dovecot is able to snarf the mail to /home/$user/.imap_mail/inbox _and_ delete it from /var/mail/$user. How to solve this problem? /var/mail is normally empty and only used by Exim delivering mails when the user is overquota. I could use a cronjob-script-solution to create mbox files with uw-imap indexes for all users present on the system, but it would be an ugly hack. Greetings, Bernd Kuhls
Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox
On Tue, 2007-06-05 at 21:12 +0200, Bernd Kuhls wrote: > In your original posting you said: > > if all the > > messages couldn't be copied, for example because of out of quota, then > > none of the messages are copied. I suppose that could be a problem. It > > might be possible to fix that by changing: .. > > But I'm not sure about that. Try and tell me. :) > > In your new patch you changed exactly this code, did you have a reason > to do so? I have yet to test your patch in an over-quota scenario, so I > can´t tell you my experience with the patch. I changed it because I remembered my mail about it. With the previous code if you had 1000 messages waiting in /var/spool/mail, either all or none of them would be moved to ~/mbox. Now it should move as many as fits. If it works. signature.asc Description: This is a digitally signed message part
Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox
Timo Sirainen wrote: Jun 4 15:28:27 bach dovecot: IMAP(kuhls): Timeout leak: 0x808ad10 Fixed and uploaded new version. Hi, thanks, the log message disappeared. In your original posting you said: if all the messages couldn't be copied, for example because of out of quota, then none of the messages are copied. I suppose that could be a problem. It might be possible to fix that by changing: if (mailbox_copy(dest_trans, mail, 0, NULL, NULL) < 0) { if (!mail->expunged) { ret = -1; break; } } to just: if (mailbox_copy(dest_trans, mail, 0, NULL, NULL) < 0) { if (!mail->expunged) break; } But I'm not sure about that. Try and tell me. :) In your new patch you changed exactly this code, did you have a reason to do so? I have yet to test your patch in an over-quota scenario, so I can´t tell you my experience with the patch. Greetings, Bernd Kuhls
Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox
On Mon, 2007-06-04 at 15:37 +0200, Bernd Kuhls wrote: > Is it possible to snarf more than one mbox from /var/mail to > /home/$user, like this? Shouldn't be too difficult to modify the plugin. > Jun 4 15:28:27 bach dovecot: IMAP(kuhls): Timeout leak: 0x808ad10 Fixed and uploaded new version. signature.asc Description: This is a digitally signed message part
Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox
Timo Sirainen wrote: Anyway, updated http://dovecot.org/patches/mbox-snarf-plugin.c Hi, thanks, this code seems to work with the original Debian package. It managed to copy the contents of a mbox from /var/mail/$user to /home/$user/.imap_mail/inbox, well done! I have yet to conduct more testing as Dovecot+Exim will be handling 100+ users soon. Exims current setup delivers directly to directory /home/user/.imap_mail, where spam mails can optionally be delivered into different mbox files. /home is subject to user-based filesystem quotas, also a policy not to bounce any mail is in place. My idea is to let Exim deliver everything to /var/mail/$user, where enough space is present, and let Dovecot snarf the mails to /home, if quota allows. Is it possible to snarf more than one mbox from /var/mail to /home/$user, like this? /var/mail/$user -> /home/.imap_mail/inbox /var/mail/$user.spam -> /home/.imap_mail/Spam /var/mail/$user.virus -> /home/.imap_mail/Virus Snarfing only one mbox removes the possibility to let Exim move recognized spam mails not into the inbox. Since using the snarf plugin I have this additional line in syslog: Jun 4 15:28:27 bach dovecot: IMAP(kuhls): Timeout leak: 0x808ad10 Anything to worry about? Greetings, Bernd Kuhls
Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox
On Mon, 2007-06-04 at 14:15 +0200, Bernd Kuhls wrote: > Timo Sirainen wrote: > > Getting backtrace of the crash could also show where the problem is. > > http://dovecot.org/bugreport.html > > Hi, > > later I will try to backport the Dovecot 1.0 Debian package to Etch, > but for now I can only provide you a backtrace: > > (gdb) bt full > #0 0x0808a778 in index_storage_get_status_locked () > #1 0x0808bbf8 in index_mailbox_sync_deinit () Oh. Hmm. Wonder why it worked even with v1.0. Or maybe I just tested it with hg version and not v1.0 at all.. Anyway, updated http://dovecot.org/patches/mbox-snarf-plugin.c signature.asc Description: This is a digitally signed message part
Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox
Timo Sirainen wrote: Getting backtrace of the crash could also show where the problem is. http://dovecot.org/bugreport.html Hi, later I will try to backport the Dovecot 1.0 Debian package to Etch, but for now I can only provide you a backtrace: (gdb) bt full #0 0x0808a778 in index_storage_get_status_locked () No symbol table info available. #1 0x0808bbf8 in index_mailbox_sync_deinit () No symbol table info available. #2 0xb7fd5c6d in sync_mailbox () from /usr/lib/dovecot/modules/imap/lib10_mbox_snarf_plugin.so No symbol table info available. #3 0xb7fd5c91 in mbox_snarf () from /usr/lib/dovecot/modules/imap/lib10_mbox_snarf_plugin.so No symbol table info available. #4 0xb7fd5eef in mbox_snarf_sync_init () from /usr/lib/dovecot/modules/imap/lib10_mbox_snarf_plugin.so No symbol table info available. #5 0x080614cc in imap_sync_nonselected () No symbol table info available. #6 0x080599d3 in _cmd_select_full () No symbol table info available. #7 0x08059b97 in cmd_select () No symbol table info available. #8 0x0805b4e2 in _client_input () No symbol table info available. #9 0x080b8826 in io_loop_handler_run () No symbol table info available. #10 0x080b7bd8 in io_loop_run () No symbol table info available. #11 0x080632de in main () No symbol table info available. HTH, Bernd
Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox
On Tue, 2007-05-29 at 16:20 +0200, Bernd Kuhls wrote: > Timo Sirainen wrote: > > http://dovecot.org/patches/mbox-snarf-plugin.c > > Hi, > > I just tried to setup this plugin on a Debian Etch machine but it > crashes the Dovecot daemons. > > Debian Etch uses the sourcecode of Dovecot 1.0rc15 + some patches. It's entirely possible that it requires a newer version. I only tried it with v1.0. > gcc -fPIC -shared -Wall -I$DOVECOT -I$DOVECOT/src/lib > -I$DOVECOT/src/lib-storage -I$DOVECOT/src/lib-mail > -I$DOVECOT/src/lib-imap -DHAVE_CONFIG_H mbox-snarf-plugin.c -o > mbox_snarf_plugin.so Looks ok. > > May 29 16:01:24 bach dovecot: child 28786 (imap) killed with signal 11 Getting backtrace of the crash could also show where the problem is. http://dovecot.org/bugreport.html signature.asc Description: This is a digitally signed message part
Re: [Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox
Timo Sirainen wrote: http://dovecot.org/patches/mbox-snarf-plugin.c Hi, I just tried to setup this plugin on a Debian Etch machine but it crashes the Dovecot daemons. Debian Etch uses the sourcecode of Dovecot 1.0rc15 + some patches. I rebuilt the Dovecot packages -common, -imapd and -pop3d using apt-get install apt-build apt-build build-source dovecot-common and installed them. Then I compiled the .c file mentioned above inside the sourcedir created by apt-build by interrupting apt-build, then issuing these commands: cd /var/cache/apt-build/build/dovecot-1.0.rc15/ wget http://dovecot.org/patches/mbox-snarf-plugin.c export DOVECOT=/var/cache/apt-build/build/dovecot-1.0.rc15 gcc -fPIC -shared -Wall -I$DOVECOT -I$DOVECOT/src/lib -I$DOVECOT/src/lib-storage -I$DOVECOT/src/lib-mail -I$DOVECOT/src/lib-imap -DHAVE_CONFIG_H mbox-snarf-plugin.c -o mbox_snarf_plugin.so The compiled file mbox_snarf_plugin.so was copied to /usr/lib/dovecot/modules/lib10_mbox_snarf_plugin.so with symlinks inside /usr/lib/dovecot/modules/imap and /usr/lib/dovecot/modules/pop3. I setup /etc/dovecot/dovecot.conf according to your posting and restarted Dovecot. But accessing Dovecot with Thunderbird produces this: May 29 16:01:09 bach dovecot: Killed with signal 15 May 29 16:01:10 bach dovecot: Dovecot v1.0.rc15 starting up May 29 16:01:24 bach dovecot: imap-login: Login: user=, method=plain, rip=x.x.x.x, lip=x.x.x.x, TLS May 29 16:01:24 bach dovecot: child 28786 (imap) killed with signal 11 May 29 16:01:25 bach dovecot: imap-login: Login: user=, method=plain, rip=x.x.x.x, lip=x.x.x.x, TLS May 29 16:01:25 bach dovecot: child 28791 (imap) killed with signal 11 May 29 16:01:25 bach dovecot: imap-login: Login: user=, method=plain, rip=x.x.x.x, lip=x.x.x.x, TLS May 29 16:01:25 bach dovecot: child 28795 (imap) killed with signal 11 May 29 16:01:25 bach dovecot: imap-login: Login: user=, method=plain, rip=x.x.x.x, lip=x.x.x.x, TLS May 29 16:01:25 bach dovecot: child 28806 (imap) killed with signal 11 I suppose I did something wrong when compiling the module, but what? Greetings, Bernd Kuhls
[Dovecot] UW-IMAP style mbox snarfing from /var/mail/ to ~/mbox
http://dovecot.org/patches/mbox-snarf-plugin.c Also committed to CVS HEAD. Usage: mail_location = mbox:~/mail:INBOX=/var/mail/%u protocol imap { mail_plugins = mbox_snarf } protocol pop3 { mail_plugins = mbox_snarf } plugin { mbox_snarf = ~/mbox } If ~/mbox doesn't exist, nothing special is done. If ~/mbox exists, it's treated as INBOX and mails are moved from /var/mail/%u whenever the mailbox is synchronized. If all the messages couldn't be copied, for example because of out of quota, then none of the messages are copied. I suppose that could be a problem. It might be possible to fix that by changing: if (mailbox_copy(dest_trans, mail, 0, NULL, NULL) < 0) { if (!mail->expunged) { ret = -1; break; } } to just: if (mailbox_copy(dest_trans, mail, 0, NULL, NULL) < 0) { if (!mail->expunged) break; } But I'm not sure about that. Try and tell me. :) signature.asc Description: This is a digitally signed message part