[Dovecot] Deliver - Virtual users
Hello...
I have dovecot 1.0.10 running with users in an LDAP database. Things are working as they should with IMAP.
However, I can't seem to make deliver w. postfix work they way I want.
My problems are: Mail to users who do not exist in LDAP or locally are accepted and mailfolders are created. I want mail to users that do not exist in LDAP or locally to be rejected.
Mail is delivered to users even though they are over quota.
Below I have included a bit of my log. This is what I see when sending a mail to an existing user. I don't understand the part that says: dovecot: auth(default): passwd(tbp@kontrapunkt.dk): lookup
In my database users are stored as usernames without domains. Deliver seems to lookup the name with domain? The lookup ends with "unknown user". Then I wonder, why is the mail delivered if the user is unknown?
I have included the "protocol lda" part from my dovecot.conf and the result of "dovecot -n".
Can someone help me get this sorted out?
Thanks, Tobias
####################################################
Feb 22 11:31:40 mihoko postfix/smtpd[16944]: 2A8F7137E6: client=unknown[192.168.0.225] Feb 22 11:31:50 mihoko postfix/cleanup[17942]: 2A8F7137E6: message-id=20080222103140.2A8F7137E6@frontdesk.kontrapunkt.dk Feb 22 11:31:50 mihoko postfix/qmgr[2255]: 2A8F7137E6: from=slik@kontrapunkt.com, size=362, nrcpt=1 (queue active) Feb 22 11:31:50 mihoko dovecot: auth(default): master in: USER^I1^Itbp@kontrapunkt.dk^Iservice=deliver Feb 22 11:31:50 mihoko dovecot: auth(default): passwd(tbp@kontrapunkt.dk): lookup Feb 22 11:31:50 mihoko dovecot: auth(default): passwd(tbp@kontrapunkt.dk): unknown user Feb 22 11:31:50 mihoko dovecot: auth(default): master out: USER^I1^Itbp@kontrapunkt.dk^Iuid=1000^Igid=1000^Ihome=/home/vmail/tbp Feb 22 11:31:50 mihoko deliver(tbp@kontrapunkt.dk): msgid=20080222103140.2A8F7137E6@frontdesk.kontrapunkt.dk: saved mail to BLAH.SYNTS Feb 22 11:31:50 mihoko postfix/pipe[17950]: 2A8F7137E6: to=tbp@kontrapunkt.dk, relay=dovecot, delay=18, delays=18/0.01/0/0.08, dsn=2.0.0, status=sent (delivered via dovecot service) Feb 22 11:31:50 mihoko postfix/qmgr[2255]: 2A8F7137E6: removed
####################################################
From dovecot.conf:
protocol lda { # Address to use when sending rejection mails. postmaster_address = postmaster@kontrapunkt.com
# Hostname to use in various parts of sent mails, eg. in Message-Id. # Default is the system's real hostname. #hostname =
# Support for dynamically loadable plugins. mail_plugins is a space separated # list of plugins to load. #mail_plugins = #mail_plugin_dir = /usr/lib/dovecot/modules/lda
mail_plugins = quota
# Binary to use for sending mails. #sendmail_path = /usr/lib/sendmail
# UNIX socket path to master authentication server to find users. auth_socket_path = /var/run/dovecot/auth-master
# Enabling Sieve plugin for server-side mail filtering mail_plugins = cmusieve }
####################################################
dovecot -n
# 1.0.10: /etc/dovecot/dovecot.conf log_timestamp: %Y-%m-%d %H:%M:%S protocols: imaps imap listen: localhost:143 ssl_listen: *:993 ssl_cert_file: /etc/ssl/certs/imap.kontrapunkt.com.crt ssl_key_file: /etc/ssl/private/imap.kontrapunkt.com.key ssl_key_password: XXXXXXXXXX disable_plaintext_auth: no login_dir: /var/run/dovecot/login login_executable: /usr/lib/dovecot/imap-login login_greeting: System ready. login_process_per_connection: no valid_chroot_dirs: /home/vmail mail_extra_groups: mail mail_location: maildir:/home/vmail/%n/mail:INDEX=/var/indexes/%n maildir_copy_with_hardlinks: yes mail_plugins: quota imap_quota trash imap_client_workarounds: delay-newmail auth default: username_format: %n verbose: yes debug: yes passdb: driver: ldap args: /etc/dovecot/dovecot-ldap.conf userdb: driver: passwd userdb: driver: static args: uid=vmail gid=vmail home=/home/vmail/%n allow_all_users=yes userdb: driver: ldap args: /etc/dovecot/dovecot-ldap.conf socket: type: listen client: path: /var/spool/postfix/private/auth-client mode: 432 user: postfix group: vmail master: path: /var/run/dovecot/auth-master mode: 432 user: vmail group: mail plugin: quota: maildir:storage=10 trash: /etc/dovecot/dovecot-trash.conf sieve: /home/vmail/%n/.dovecot.sieve
Hello...
As Charles Marcus said, my problem is with postfix, not dovecot.
I have solved my problem like this:
- Create file /etc/postfix/ldap/local_recipients.cf with content:
bind = no server_host = ldap://192.168.0.51:389 search_base = cn=users,dc=yoiko,dc=local,dc=kontrapunkt,dc=dk query_filter = (uid=%u) result_attribute = uid
- Added the below to /etc/postfix/main.cf:
local_recipient_maps = proxy:ldap:/etc/postfix/ldap/local_recipients.cf
Postfix now rejects mail to users not in my LDAP database (No uid matching the recipient with the domain stripped off.)
Tobias
On Fri, 22 Feb 2008 12:09:08 +0100 Tobias Balle-Petersen tbp@kontrapunkt.com wrote:
Mail to users who do not exist in LDAP or locally are accepted and mailfolders are created. I want mail to users that do not exist in LDAP or locally to be rejected.
This is really a Postfix problem. There are a couple of ways to achieve what you want. I suggest that you post your question on the Postfix forum. Be sure to include the output of: 'postconf -n' as well as your OS, Postfix version and any pertinent log entries.
Rejecting mail has to occur at the MTA level.
-- Gerard gerard@seibercom.net
Overdrawn? But I still have checks left!
Hello...
I had configured mail_plugin twice in the "protocol lda" section of dovecot.conf.... DOH! I'm assuming the last entry (cmusieve) overwrote the first entry (quota).
I have cmusieve and quota on one line now and things work as expected.
Tobias
participants (2)
-
Gerard
-
Tobias Balle-Petersen