Hi,
I enabled notify and mail_log plugins to log the message uid for new emails delivered via LMTP. All works fine except that the uid is not always logged (see uid=error instead of uid=NUMBER)
from dovecot.log:
Dec 01 10:03:08 lmtp(alessio@domain.com): Info: copy from <lmtp DATA>: box=INBOX, uid=error, msgid=14489594@domain.com, from="WordPress" wordpress@domain.com, subject=Enquiry from Joy
Dec 01 10:03:09 lmtp(alessio@domain.com): Info: copy from <lmtp DATA>: box=INBOX, uid=92, msgid=03c4e16d@www.domain.com, from="WordPress" wordpress@domain.com, subject=Enquiry from Joy
When the uid number is missing the message have is uid in dovecot-uidlist file but is represented in different format:
92 G1448960589.M630964P41853.qb-dev :1448960589.M630964P41853.qb-dev,S=35341,W=35856 93 :1448960586.M423202P41802.qb-dev,S=35378,W=35890
It seems that the uid is determined after the log is written ...
I'm running Dovecot 2.2.19, Maildir as storage format and LMTP for delivery.
Is a bug or a "feature"? Can be fixed?
Thanks
this is my configuration:
# dovecot -n # 2.2.19: /etc/dovecot/dovecot.conf # Pigeonhole version 0.4.9 # OS: Linux 2.6.32-573.7.1.el6.x86_64 x86_64 CentOS release 6.7 (Final) auth_master_user_separator = * dict { expire = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext sqlquota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext } first_valid_gid = 89 first_valid_uid = 89 last_valid_gid = 89 last_valid_uid = 89 lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes log_path = /var/log/dovecot/dovecot.log mail_fsync = always mail_location = maildir:~/Maildir mail_plugins = quota zlib fts fts_lucene acl mail_log notify 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 index ihave duplicate namespace inbox { inbox = 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 = / } passdb { args = /etc/dovecot/dovecot-deny-sql.conf.ext deny = yes driver = sql } passdb { args = /etc/dovecot/extra/master-users driver = passwd-file master = yes pass = yes } passdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } plugin { acl = vfile:/etc/dovecot/global-acls:cache_secs=300 fts = lucene fts_lucene = whitespace_chars=@. mail_log_events = copy save mail_log_fields = uid box msgid from subject quota = dict:User quota::noenforcing:proxy::sqlquota sieve_default = /etc/dovecot/sieve/default.sieve zlib_save = gz zlib_save_level = 6 } protocols = imap sieve lmtp service auth { unix_listener auth-userdb { group = vchkpw mode = 0660 user = vmail } } service dict { unix_listener dict { group = vchkpw mode = 0660 user = vmail } } service imap-postlogin { executable = script-login /etc/dovecot/scripts/imap-postlogin.sh unix_listener imap-postlogin { group = vchkpw mode = 0660 user = vmail } user = vmail } service imap { executable = imap imap-postlogin } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0660 user = postfix } } ssl_cert =
-- Alessio Cecchi Postmaster @ http://www.qboxmail.it https://www.linkedin.com/in/alessice