On Wed, Dec 22, 2010 at 13:27, Thomas Leuxner tlx@leuxner.net wrote:
May be a good idea to post some snippets of the actual Postfix delivery attempts just to make sure it really uses the external LDA. You can also crank up 'mail_debug = yes' to log more verbosely. IIRC it should show CMU Sieve warnings too (it's way old). Going forward using Pigeonhole would make more sense IMHO as it spits out more useful information. Can you also post the relevant Postfix 'main.cf' and 'master.cf' sections?
If it is not using the LDA, I don't know what it is doing. There have been several hundred thousand messages going from Postfix to Dovecot since I installed this a few months ago, all successfully arriving in the appropriate user INBOX as far as I can tell. Note that I am using a gmail account for this mailing list because I set this up way back when I was installing the mail server, and chose to leave this set up just in case things break. Right now, the mail server is working "fine" except for the sieve part behaving as if there is no sieve part. I just started trying to run it today.
part of main.cf is: ================================================================ begin # Use Dovecot SASL for authentication to submit email. smtpd_sasl_type = dovecot smtpd_sasl_path = private/dovecot-auth smtpd_sasl_auth_enable = yes
# Use Dovecot for transport delivery. virtual_transport = dovecot dovecot_destination_recipient_limit = 1 virtual_mailbox_domains = cdb:/var/maildb/domains virtual_mailbox_maps = cdb:/var/maildb/mailbox ================================================================ end
part of master.cf is: ================================================================ begin # # This is used by "virtual_transport = dovecot" in main.cf # dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -a ${recipient} -d ${user}@${nexthop} -f ${sender} ================================================================ end
Note that the -a ${recipient} part was added on today, due to this being shown in the http://wiki1.dovecot.org/LDA/Sieve page. I tested that it did not break ordinary delivery. But things have been working (sans sieve) for months without it. I just assumed sieve might need it, or benefit from it.
The filesystem access timestamps are not showing any accesses happening on either sieve file except my own accesses from the command line.
I do see the following as suspicious, that the settings in "protocol lda" do not show up in "dovecot -n" at all. But I don't know if they should or not. Of particular concern was that "main_plugin" was missing. But here (domain name redacted with XXXXXXXXXXXX) is the whole output of "dovecot -n" just in case something is relevant (the "protocol lda" part of dovecot-postfix.conf follows it): ================================================================ begin # 1.1.11: /etc/dovecot/dovecot.conf # OS: Linux 2.6.31-22-server x86_64 Ubuntu 9.10 ext3 base_dir: /var/run/dovecot/ log_path: /var/log/dovecot/error.log info_log_path: /var/log/dovecot/info.log log_timestamp: %Y-%m-%d %H:%M:%S protocols: imap pop3 imaps pop3s listen: 172.30.0.28, [fcca::1c], 127.0.0.1, [::1] ssl_cert_file: /etc/ssl/certs/imapx.XXXXXXXXXXXX.crt ssl_key_file: /etc/ssl/private/imapx.XXXXXXXXXXXX.key ssl_parameters_regenerate: 24 ssl_cipher_list: ALL:!LOW:!SSLv2:ALL:!aNULL:!ADH:!eNULL:!EXP:RC4+RSA:+HIGH:+MEDIUM 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 login_greeting: AUTHORIZED USERS ONLY -- unauthorized access strictly prohibited login_greeting_capability(default): yes login_greeting_capability(imap): yes login_greeting_capability(pop3): no mail_max_userip_connections(default): 10 mail_max_userip_connections(imap): 10 mail_max_userip_connections(pop3): 3 verbose_proctitle: yes first_valid_uid: 250 mail_privileged_group: mail mail_uid: vmail mail_gid: vmail mail_location: maildir:/home/mail/%Ld/%Ln/mail mail_debug: yes mail_executable(default): /usr/lib/dovecot/imap mail_executable(imap): /usr/lib/dovecot/imap mail_executable(pop3): /usr/lib/dovecot/pop3 mail_process_size: 768 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 delay-newmail imap_client_workarounds(imap): outlook-idle delay-newmail imap_client_workarounds(pop3): pop3_client_workarounds(default): pop3_client_workarounds(imap): pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh auth default: mechanisms: plain login username_chars: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@+ username_format: %Ln@%Ld verbose: yes debug: yes debug_passwords: yes passdb: driver: passwd-file args: scheme=crypt username_format=%Ln /var/maildb/authdir/%Ld/passwd userdb: driver: passwd-file args: username_format=%Ln /var/maildb/authdir/%Ld/passwd socket: type: listen client: path: /var/spool/postfix/private/dovecot-auth mode: 432 user: postfix group: postfix master: path: /var/run/dovecot/auth-master mode: 384 user: vmail group: vmail plugin: sieve_global_path: /etc/dovecot/sieve-global.d/spam.sieve ================================================================ end
here is part of dovecot-postfix.conf (pointed to by dovecot.conf): ================================================================ begin protocol lda { log_path = /var/log/deliver/error.log info_log_path = /var/log/deliver/info.log
user = vmail
group = vmail
postmaster_address = postmaster
hostname = XXXXXXXXXXXX
mail_plugins = cmusieve
mail_plugin_dir = /usr/lib/dovecot/modules/lda
quota_full_tempfail = yes
# Format to use for logging mail deliveries. You can use variables:
# %$ - Delivery status message (e.g. "saved to INBOX")
# %m - Message-ID
# %s - Subject
# %f - From address
deliver_log_format = msgid=%m: %$
#sendmail_path = /usr/lib/sendmail
rejection_reason = Your message to <%t> was automatically rejected:%n%r
# UNIX socket path to master authentication server to find users.
#auth_socket_path = /var/run/dovecot/auth-master
} ================================================================ end
-- sHiFt HaPpEnS!