Re: [Dovecot] doveadm quota get -A via doveadm-proxy director with LDAP
Ramon Frontera wrote: > We are running Dovecot 2.1.10 > I want configure dovecot to do execute doveadm commands on the proxy server. > We have 1 proxy with director and 2 mail servers. we use LDAP > when I try to do doveadm quota get -u user it works fine. > The problem is when I try to do doveadm quota get -A ON PROXY > > I have this result: > doveadm(first_user): Error: Proxy is missing destination host > doveadm: Error: Failed to iterate through some users Sounds similar to the doveadm director problem described in this thread: http://dovecot.org/list/dovecot/2012-October/069100.html What do you see in your backend mail server dovecot.log? Regards Daniel -- https://plus.google.com/103021802792276734820
Re: [Dovecot] mbox vs. maildir storage block waste
Christoph Anton Mitterer wrote: > On Wed, 2012-11-07 at 17:30 +0200, Timo Sirainen wrote: > > On 30.10.2012, at 2.16, Christoph Anton Mitterer wrote: > > > Have you ever thought about adding a "real" DB backend? Nothing against > > > dbox... :) ... and I have no performance comparison of dbox with what > > > could be done with a DBMS... but the advantage of the later would be > > > that you get all fancy features from database systems for free... like > > > fast indexing, online replication, etc. p.. > > > One might even reuse something like AOX for this. > > > SQL indexes aren't very helpful for IMAP-like data. It would be fun to > > some day have SQL backend in Dovecot (there already is read-only > > INBOX-only SQL backend), but I don't expect it to have very good > > performance. > I see... well I haven't tested AOX or dbmail so far (especially as > they're not in Debian and I was too lazy till now to compile them)... Bad performance experiences with dbmail 2.x were the main reason why we migrated to dovecot. If you've got a MySQL database with 80 GB of binary chunks then things are getting ugly, especially when it comes to efficient backup and restore of whole mailboxes or single e-mails. The SQL backend (and the IMAP user experience) becomes very slow if the database does not fit completely into RAM. There are many performance improvements and bug fixes in dbmail 3.x, but instead of evaluating then, we decided to migrate to Dovecot. One should think twice, or even three times about how to design an efficient SQL backend for a good user experience. Regards Daniel -- https://plus.google.com/103021802792276734820
Re: [Dovecot] Rebuilding indexes fails on inconsistent mdbox
On Mon, 29 Oct 2012 17:31:42 +0200 Timo Sirainen wrote: > On 24.10.2012, at 14.28, Milan Holzäpfel wrote: > > > Oct 24 10:45:19 two dovecot: imap(lis...@mjh.name): Panic: file > > mdbox-storage-rebuild.c: line 773 (rebuild_update_refcounts): assertion > > failed: (map_uid < msgs[i]->map_uid) > > Now this is a bug. > > > Dovecot 2.0.19-0ubuntu1 > > But the bug may have already been fixed in v2.1. I downloaded Dovecot 2.1.10 and compiled from source. Accessing the mailbox still fails: $ doveadm mailbox status all xen-devel doveadm(...): Error: mdbox map /home/test/mdbox/storage/dovecot.map.index corrupted: Unexpectedly lost xen-devel uid=108079 map_uid=809892 doveadm(...): Warning: mdbox /home/test/mdbox/storage: rebuilding indexes doveadm(...): Panic: file mdbox-storage-rebuild.c: line 743 (rebuild_update_refcounts): assertion failed: (map_uid < msgs[i]->map_uid) doveadm(...): Error: Raw backtrace: /home/test/prefix/dovecot/lib/dovecot/libdovecot.so.0(+0x45b3a) [0x7fd2942f9b3a] -> /home/test/prefix/dovecot/lib/dovecot/libdovecot.so.0(default_fatal_handler+0x2a) [0x7fd2942f9bfa] -> /home/test/prefix/dovecot/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7fd2942cdc60] -> /home/test/prefix/dovecot/lib/dovecot/libdovecot-storage.so.0(mdbox_storage_rebuild_in_context+0x105e) [0x7fd2945838be] -> /home/test/prefix/dovecot/lib/dovecot/libdovecot-storage.so.0(mdbox_storage_rebuild+0x24) [0x7fd294583a54] -> /home/test/prefix/dovecot/lib/dovecot/libdovecot-storage.so.0(+0x3b525) [0x7fd294581525] -> /home/test/prefix/dovecot/lib/dovecot/libdovecot-storage.so.0(mailbox_close+0x1a) [0x7fd2945c047a] -> /home/test/prefix/dovecot/lib/dovecot/libdovecot-storage.so.0(mailbox_free+0x13) [0x7fd2945c04c3] -> /home/test/prefix/dovecot/bin/doveadm() [0x41383d] -> /home/test/prefix/dovecot/bin/doveadm() [0x40e8e7] -> /home/test/prefix/dovecot/bin/doveadm() [0x40f3ae] -> /home/test/prefix/dovecot/bin/doveadm(doveadm_mail_try_run+0x11e) [0x40f8be] -> /home/test/prefix/dovecot/bin/doveadm(main+0x3bd) [0x40e50d] -> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed) [0x7fd293f1676d] -> /home/test/prefix/dovecot/bin/doveadm() [0x40e6f1] Aborted I will send you an Email with a download link for the files. Thanks for you help. Regards, Milan -- Milan Holzäpfel
[Dovecot] doveadm quota get -A via doveadm-proxy director with LDAP
Hi, We are running Dovecot 2.1.10 I want configure dovecot to do execute doveadm commands on the proxy server. We have 1 proxy with director and 2 mail servers. we use LDAP when I try to do doveadm quota get -u user it works fine. The problem is when I try to do doveadm quota get -A ON PROXY I have this result: doveadm(first_user): Error: Proxy is missing destination host doveadm: Error: Failed to iterate through some users Username Quota name Type Value Limit % in 10-auth.conf I have "!include auth-ldap.conf.ext" in auth-ldap.conf.ext I hve: passdb { driver = ldap args = /etc/dovecot/dovecot-ldap.conf.ext } userdb { driver = ldap args = /etc/dovecot/dovecot-ldap.conf.ext } and In dovecot-ldap.conf.ext I have: uris = ldap://ldap:port dn = x dnpass = y auth_bind = no ldap_version = 3 base =base scope = subtree user_attrs = attributes user_filter = (mail=%u) pass_attrs = userPassword=password,uid=user=%L$,cn=proxy,=starttls=any-cert pass_filter = (mail=%u) iterate_attrs = uid=user iterate_filter = (uid=*) I don't know where is my error!!! Thanks in advance -- -- Ramon Frontera Gallardo Universitat de les Illes Balears
[Dovecot] Sieve puts incoming message into inbox on any problem with submission_host
Hello dovecot-users, I have a question/suggestion regarding the submission_host feature of the lda (either via dovecot-lda binary or lmtp) in combination with sieve. When trying to deliver message to a mailbox and this message has a sieve redirect action applied to it, dovecot is using the configured smtp server to forward the message just fine. Unfortunately, if the server configured for submission is unavailable, returns an error or cannot be found via DNS, sieve will simply put the message into the inbox and be done with it: --- dovecot.log --- dovecot: lda(user1): Error: lmtp client: DNS lookup of idonotexist.example.com failed: Name or service not known dovecot: lda(user1): Error: sieve: msgid=unspecified: failed to redirect message to (refer to server log for more information) dovecot: lda(user1): sieve: msgid=unspecified: stored mail into mailbox 'INBOX' dovecot: lda(user1): Error: sieve: execution of script /mailboxes/user1/.dovecot.sieve failed, but implicit keep was successful (user logfile /mailboxes/user1/.dovecot.sieve.log may reveal additional details) --- /dovecot.log --- The same applies to vacation messages being sent out. Especially with an (unconditional) redirect action, users don't expect to find messages in their inbox. Also problems with the submission_host could very much be temporary and a little delay in delivering a message is better then putting it somewhere the user doesn't expect a message to be. Is there any way to change the behavior of dovecot or the sieve plugin to tempfail in case a message cannot be sent out? I know that with multiple sieve actions it gets more complicated as there could be corner cases were the first message can be sent via the submission server and another message produced by the same sieve script cannot. I'd love sieve to behave like this: a) if submission host is unreachable (hostname wrong, timeout, ...) -> tempfail b) if submission host returns 4xx error -> tempfail c) if submission host returns 5xx error -> fail(-save) and just drop the message into inbox or even have an option to reject the message completely in this case. In case of a tempfail response, the mta simply queues the message and tries again later. In case of a permanent fail the mta will create a bounce message to in form the sender. Regards and have a great weekend, Christian
[Dovecot] quota recalc does not work
Hi I upgraded dovecot from 2.0 to 2.1 , and now i face the quota recalc problem. All settings are keep in mysql Before , after a change in mailbox.quota field, i run doveadm quota recalc and all was ok , but now that command doesn't do anything. After i change a quota for a user , i have to restart dovecot to get the new quota , or do a "doveadm reload" instead of recalc. And the doveadm quota recalc -A" give me back a lot of "doveadm(username): Info: User no longer exists, skipping" Any thoughts ? # 2.1.10: /usr/dovecot21/etc/dovecot/dovecot.conf # OS: Linux 2.6.35.4 i686 auth_cache_negative_ttl = 1 secs auth_cache_size = 2 M auth_failure_delay = 4 secs auth_mechanisms = plain login digest-md5 cram-md5 auth_worker_max_count = 100 base_dir = /var/run/dovecot/ default_client_limit = 4096 default_internal_user = vmail default_login_user = nobody default_process_limit = 256 deliver_log_format = mail delivery from=%f subject=%s msgid=%m: %$ dict { acl = mysql:/usr/dovecot21/etc/dovecot/dovecot-dict-sql.conf.ext } disable_plaintext_auth = no first_valid_uid = 1 lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes listen = * mail_location = maildir:~/Maildir mail_plugins = " quota acl trash notify mail_log" managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave namespace { hidden = no list = children location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u prefix = shared/%%u/ separator = / subscriptions = no type = shared } namespace inbox { inbox = yes list = yes location = mailbox Drafts { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } prefix = separator = / subscriptions = yes type = private } passdb { args = /usr/dovecot21/etc/dovecot/dovecot-sql.conf.ext driver = sql } plugin { acl = vfile acl_shared_dict = proxy::acl autocreate = Trash autocreate2 = Drafts autocreate3 = Sent autosubscribe = Trash autosubscribe2 = Drafts autosubscribe3 = INBOX autosubscribe4 = Sent mail_log_events = delete mailbox_delete mailbox_rename mail_log_fields = box subject from msgid size quota = maildir:User quota quota_warning = storage=95%% quota-warning 95 %u quota_warning2 = storage=95%% quota-warning 90 %u quota_warning3 = storage=85%% quota-warning 85 %u sieve = ~/.dovecot.sieve sieve_dir = ~/sieve trash = /usr/dovecot21/etc/dovecot/dovecot-trash.conf.ext } postmaster_address = postmas...@dacris.net protocols = imap quota_full_tempfail = yes rejection_subject = Rejected: %s: %r service auth { unix_listener auth-client { mode = 0666 user = vmail } unix_listener auth-userdb { mode = 0666 user = vmail } } service dict { unix_listener dict { user = vmail } } service imap-login { process_min_avail = 4 } service imap-postlogin { executable = script-login /bin/imap.sh unix_listener imap-postlogin { mode = 01232 } } service imap { executable = imap imap-postlogin process_limit = 1024 vsz_limit = 1 G } service quota-warning { executable = script /bin/quota_warning.sh unix_listener quota-warning { user = vmail } user = vmail } ssl_cert = user_query = SELECT CONCAT('/srv/vmail/',mailbox.domain,'/%Ln') AS 'home' ,'98' AS 'uid', '98' AS 'gid' , \ CONCAT('*:storage=', mailbox.quota,'M') AS quota_rule ,"Trash:storage=+50M" AS quota_rule2 FROM mailbox WHERE \ mailbox.username = '%Ln' AND mailbox.domain = '%Ld' AND \ mailbox.active = '1' iterate_query = SELECT username AS user , domain FROM mailbox WHERE active = '1' <>
Re: [Dovecot] Mails don't get deleted after POP3 [SOLVED]
Hi, there! > I guess that dovecot cannot write to some files / has problems > with write permissions. But it doesn't tell me anything... The reason was indeed that dovecot couldn't write to /var/mail I had to chown it to the mail group as it says in: mail_privileged_group: mail Thank you, Regards, Rob Am 08.11.2012 22:21, schrieb culli...@rocketmail.com: Hi, there! Well, I am new to dovecot, so please be patient with me: I have a virtual server and want to setup simple mail delivery. postfix, saslauthd and dovecot basically work fine. The only open issue is, that (I guess) dovecot doesn't remove the mail when it's retrieved via pop3 from the server. It keeps sending me the same emails again and again. (The mail client (Thunderbird) is configured to remove the messages from the server - it was working already.) I guess that dovecot cannot write to some files / has problems with write permissions. But it doesn't tell me anything... Can you tell me, what configuration might be wrong or how can I enable more debugging to see what dovecot is doing after the mails got sent out via pop3? Here is the configuration: # dovecot -n # 1.2.15: /etc/dovecot/dovecot.conf # OS: Linux 2.6.38-8-server x86_64 Ubuntu 11.04 log_timestamp: %Y-%m-%d %H:%M:%S protocols: pop3 pop3s login_dir: /var/run/dovecot/login login_executable: /usr/lib/dovecot/pop3-login mail_privileged_group: mail mbox_write_locks: fcntl dotlock mail_executable: /usr/lib/dovecot/pop3 mail_plugin_dir: /usr/lib/dovecot/modules/pop3 auth default: passdb: driver: pam userdb: driver: passwd -8<- # dovecot -a # 1.2.15: /etc/dovecot/dovecot.conf # OS: Linux 2.6.38-8-server x86_64 Ubuntu 11.04 base_dir: /var/run/dovecot log_path: info_log_path: log_timestamp: %Y-%m-%d %H:%M:%S syslog_facility: mail protocols: pop3 pop3s listen: * ssl_listen: ssl: yes ssl_ca_file: ssl_cert_file: /etc/ssl/certs/dovecot.pem ssl_key_file: /etc/ssl/private/dovecot.pem ssl_key_password: ssl_parameters_regenerate: 168 ssl_cipher_list: ssl_cert_username_field: commonName ssl_verify_client_cert: no disable_plaintext_auth: yes verbose_ssl: no shutdown_clients: yes nfs_check: yes version_ignore: no login_dir: /var/run/dovecot/login login_executable: /usr/lib/dovecot/pop3-login login_user: dovecot login_greeting: Dovecot ready. login_log_format_elements: user=<%u> method=%m rip=%r lip=%l %c login_log_format: %$: %s login_process_per_connection: yes login_chroot: yes login_trusted_networks: login_process_size: 64 login_processes_count: 3 login_max_processes_count: 128 login_max_connections: 256 valid_chroot_dirs: mail_chroot: max_mail_processes: 512 mail_max_userip_connections: 10 verbose_proctitle: no first_valid_uid: 500 last_valid_uid: 0 first_valid_gid: 1 last_valid_gid: 0 mail_access_groups: mail_privileged_group: mail mail_uid: mail_gid: mail_location: mail_cache_fields: mail_never_cache_fields: imap.envelope mail_cache_min_mail_count: 0 mailbox_idle_check_interval: 30 mail_debug: no mail_full_filesystem_access: no mail_max_keyword_length: 50 mail_save_crlf: no mmap_disable: no dotlock_use_excl: yes fsync_disable: no mail_nfs_storage: no mail_nfs_index: no mailbox_list_index_disable: yes lock_method: fcntl maildir_stat_dirs: no maildir_copy_with_hardlinks: yes maildir_copy_preserve_filename: no maildir_very_dirty_syncs: no mbox_read_locks: fcntl mbox_write_locks: fcntl dotlock mbox_lock_timeout: 300 mbox_dotlock_change_timeout: 120 mbox_min_index_size: 0 mbox_dirty_syncs: yes mbox_very_dirty_syncs: no mbox_lazy_writes: yes dbox_rotate_size: 2048 dbox_rotate_min_size: 16 dbox_rotate_days: 1 mail_drop_priv_before_exec: no mail_executable: /usr/lib/dovecot/pop3 mail_process_size: 256 mail_plugins: mail_plugin_dir: /usr/lib/dovecot/modules/pop3 mail_log_prefix: %Us(%u): mail_log_max_lines_per_sec: 10 imap_max_line_length: 65536 imap_capability: imap_client_workarounds: imap_logout_format: bytes=%i/%o imap_id_send: imap_id_log: imap_idle_notify_interval: 120 pop3_no_flag_updates: no pop3_enable_last: no pop3_reuse_xuidl: no pop3_save_uidl: no pop3_lock_session: no pop3_uidl_format: %08Xu%08Xv pop3_client_workarounds: pop3_logout_format: top=%t/%p, retr=%r/%b, del=%d/%m, size=%s dict_db_config: dict_process_count: 1 managesieve_max_line_length: 65536 managesieve_logout_format: bytes=%i/%o managesieve_implementation_string: dovecot auth default: mechanisms: plain realms: default_realm: cache_size: 0 cache_ttl: 3600 cache_negative_ttl: 3600 executable: /usr/lib/dovecot/dovecot-auth user: root chroot: username_chars: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@ username_translation: username_format: master_user_separator: anonymous_username: anonymous krb5_keytab: gssapi_hostname: winbind_helper_path: /usr/bin/ntlm_auth failure_delay: 2 verbose: no debug: no debug_passwords: no ssl_require_client_cert: no ssl_username_from_cert: no use