[Dovecot] local delivery agent
Hey, i've got a problem with my lda and exim, probably i assume that it's dovecot. I think that, because i get an error in exim: T=dovecot_delivery: Child process of dovecot_delivery transport returned 67 (could mean user nonexistent) from command: /usr/lib/dovecot/deliver in exim i use /usr/lib/dovecot/deliver -d <name>@<domain>.<tld> -f <name>@<domain>.<tld>
So, i tried to focus the error and thought there is not the right argument for delivery. But i couldn't get any hints about the arguments for the deliver agent. Exim gives me a complete string which is 'name@domain.ltd' Now my question. How parses the deliver agent this string? Splits it into variables? If yes... to which ones? name and domain?
Thanks a lot for any answers.
=>dovecot --version 1.0.rc15
=>dovecot -n # /etc/dovecot/dovecot.conf log_path: /var/log/dovecot/main.log info_log_path: /var/log/dovecot/info.log log_timestamp: %Y-%m-%d %H:%M:%S ssl_cert_file: /etc/ssl/certs/ssl_cert.crt ssl_key_file: /etc/ssl/certs/ssl.key login_dir: /var/run/dovecot/login login_executable: /usr/lib/dovecot/imap-login login_user: vmail login_greeting: <servername> Mailserver ready. verbose_proctitle: yes first_valid_uid: 8 last_valid_uid: 8 mail_privileged_group: mail mail_location: dbox:/var/spool/mail/%d/%n mail_debug: yes auth default: user: mail passdb: driver: sql args: /etc/dovecot/dovecot-sql.conf userdb: driver: prefetch socket: type: listen client: path: /var/run/dovecot/auth-client mode: 384 user: mail group: mail master: path: /var/run/dovecot/auth-master mode: 384 user: mail group: mail
=>grep -v '^ *\(#.*\)\?$' /etc/dovecot/dovecot-sql.conf driver = mysql connect = host=<host> dbname=<dbname> user=<user> password=<pass> default_pass_scheme = PLAIN password_query = SELECT password, '/var/mail/%d/%n' AS userdb_home, 'mail' AS userdb_uid, 'mail' AS userdb_gid FROM user WHERE username = '%n' AND domain = '%d' AND IMAP_allowed = 'YES' user_query = SELECT username, uid, gid FROM user WHERE username = '%n' AND domain = '%d'
in the db i have the user table columns: username, domain, password
On Tue, 2009-09-01 at 23:58 +0200, legionaer85 wrote:
67 (could mean user nonexistent) from command: /usr/lib/dovecot/deliver in exim i use /usr/lib/dovecot/deliver -d <name>@<domain>.<tld> -f <name>@<domain>.<tld>
So, i tried to focus the error and thought there is not the right argument for delivery. But i couldn't get any hints about the arguments for the deliver agent. Exim gives me a complete string which is 'name@domain.ltd' Now my question. How parses the deliver agent this string? Splits it into variables? If yes... to which ones? name and domain?
Kind of, but not really.. It works exactly the same way as for IMAP/POP3 logins. dovecot-auth does the user lookup.
passdb: driver: sql args: /etc/dovecot/dovecot-sql.conf userdb: driver: prefetch
You're missing userdb sql here. deliver needs to do a userdb lookup, but you have only prefetch userdb which doesn't work because deliver doesn't do a passdb lookup. See http://wiki.dovecot.org/UserDatabase/Prefetch
participants (3)
-
Charles Marcus
-
legionaer85
-
Timo Sirainen