[Dovecot] LDA ignored
Hi,
my final goal is it to make use Dovecot's sieve modul - but unfortunately I'm not getting the LDA running as it is described in the Dovecot's wiki pages ... ;/ I've more and more getting the feeling that the LDA section in the configuration is completely ignored, cause whatever change I do in there is not being recognized at all - I could just type wildly arround in there - restart Dovecot and it will work. But the dovecot.conf is being used by Dovecot - cause changes to other sections are affecting Dovecot's behaviour ... it's really just the LDA section. I configured and compiled Dovecot with LDA & Managesieve. Otherwhise Dovecot / Postfix setup is running quite well - mail is being scanned by amavis and Spamassassin and delivered as it did before I added / changed the configs to the sieve related options ... It's very weired.
I activated "mail_debug = yes" and the following shows up when I start Dovecot:
Starting dovecot. ILoading modules from directory: /usr/local/lib/dovecot/imap IModule loaded: /usr/local/lib/dovecot/imap/lib10_quota_plugin.so IModule loaded: /usr/local/lib/dovecot/imap/lib11_imap_quota_plugin.so IEffective uid=65534, gid=65534, home=/tmp Iquota: No quota setting - plugin disabled IEffective uid=65534, gid=65534, home=/tmp
It doesn't say a thing about sieve / lda ... ;(
The proof that Dovecot is running:
Server # ps aux | grep dove root 29355 0.0 0.1 5944 1768 ?? Ss 10:02PM 0:00.05 /usr/local/sbin/dovecot -c /usr/local/etc/dovecot.conf nobody 29356 0.0 0.3 17372 3512 ?? S 10:02PM 0:00.03 dovecot-auth dovecot 29359 0.0 0.3 9816 3256 ?? I 10:02PM 0:00.04 managesieve-login dovecot 29360 0.0 0.3 9816 3256 ?? I 10:02PM 0:00.05 managesieve-login dovecot 29361 0.0 0.3 9816 3256 ?? I 10:02PM 0:00.03 managesieve-login dovecot 29362 0.0 0.3 9816 3248 ?? I 10:02PM 0:00.03 pop3-login dovecot 29363 0.0 0.3 9816 3248 ?? I 10:02PM 0:00.05 pop3-login dovecot 29364 0.0 0.3 9816 3248 ?? I 10:02PM 0:00.03 pop3-login dovecot 29365 0.0 0.3 9812 3260 ?? I 10:02PM 0:00.03 imap-login dovecot 29366 0.0 0.3 9812 3260 ?? I 10:02PM 0:00.03 imap-login dovecot 29367 0.0 0.3 9812 3448 ?? S 10:02PM 0:00.03 imap-login: imap-login [192.168.1.233 TLS] (imap-login) dovecot 29374 0.0 0.3 9812 3260 ?? I 10:03PM 0:00.02 imap-login
The last lines of Postfix master.cf:
dovecot unix - n n - - pipe flags=DRhu user=dovecot:dovecot argv=/usr/local/libexec/dovecot/deliver -f ${sender} -d ${recipient}
AMaVIs interface
smtp-amavis unix - - n - 2 smtp -o smtp_data_done_timeout=1200 -o disable_dns_lookups=yes
127.0.0.1:10025 inet n - n - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_client_restrictions= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 -o strict_rfc821_envelopes=yes -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000
and finally some more out of the dovecot.conf:
[...]
protocols = imap imaps pop pop3s managesieve lda
[...]
mail_debug = yes
[...]
protocol lda { mail_plugins = sieve # ... other plugins like quota mail_plugin_dir = /usr/local/lib/dovecot/lda
If there is no user-specific Sieve-script, global Sieve script is
executed if set.
sieve_global_path = /usr/local/etc/dovecot/sieve/default.sieve postmaster_address = admin@server.netocean sendmail_path = /usr/local/sbin/sendmail log_path = /var/log/dovecot-deliver.log info_log_path = /var/log/dovecot-deliver.log }
[...]
plugin {
# NOTE: %variable expansion works only with Dovecot v1.0.2+
sieve = /var/sieve-scripts/%u.sieve
# quota = maildir
# The location of the users active script:
sieve = ~/.dovecot.sieve
# If the user has no personal active script (i.e. if the file
# indicated in sieve= does not exist), use this one:
#sieve_global_path = /usr/local/etc/dovecot/sieve/default.sieve
# The include extension fetches the :personal scripts from this
# directory. When ManageSieve is used, this is also where scripts
# are uploaded.
sieve_dir = ~/sieve
# The include extension fetches the :global scripts from this
# directory. Extension hamm wir nicht aktiviert.
sieve_global_dir = /usr/local/etc/dovecot/sieve/global/
# Scripts executed before the user's script.
# E.g. handling messages marked as dangerous
sieve_before = /var/lib/dovecot/sieve/discard-virusses.sieve
# Scripts executed after the user's script (if keep is still in effect)
# E.g. default mail filing rules.
sieve_after = /var/lib/dovecot/sieve/after.d/
}
[...]
Any suggestions of what I'm doing wrong? Thx
Leander S. put forth on 7/8/2010 8:02 AM:
Any suggestions of what I'm doing wrong?
Missing this maybe?
Then set virtual_transport to dovecot in /etc/postfix/main.cf:
dovecot_destination_recipient_limit = 1 virtual_mailbox_domains = your.domain.here virtual_transport = dovecot
-- Stan
Am 08.07.2010 15:22, schrieb Stan Hoeppner:
Leander S. put forth on 7/8/2010 8:02 AM:
Any suggestions of what I'm doing wrong?
Missing this maybe?
Then set virtual_transport to dovecot in /etc/postfix/main.cf:
dovecot_destination_recipient_limit = 1 virtual_mailbox_domains = your.domain.here virtual_transport = dovecot
dovecot_destination_recipient_limit = 1 virtual_transport = dovecot ^^ Is in the conf.
- I'm using maildir.
- I'm not only having one virutal domain - there is planty of domains running on this system so "virtual_mailbox_domains = your.domain.here" isn't set afaik.
On Thu, 08 Jul 2010 15:28:15 +0200 Leander S. <leander.schaefer@googlemail.com> articulated:
dovecot_destination_recipient_limit = 1 virtual_transport = dovecot ^^ Is in the conf.
- I'm using maildir.
- I'm not only having one virutal domain - there is planty of domains running on this system so "virtual_mailbox_domains = your.domain.here" isn't set afaik.
Please post the output of "postconf -n". Better, provide output from the postfinger tool. This can be found at http://ftp.wl0.org/SOURCES/postfinger.
It sounds suspiciously like you have 'virtual' configured incorrectly. When replying, please show which domains are "virtual".
-- Jerry ✌ Dovecot.user@seibercom.net
Disclaimer: off-list followups get on-list replies or get ignored. Please do not ignore the Reply-To header.
I saw a subliminal advertising executive, but only for a second.
Steven Wright
Jerry schrieb:
On Thu, 08 Jul 2010 15:28:15 +0200 Leander S. <leander.schaefer@googlemail.com> articulated:
dovecot_destination_recipient_limit = 1 virtual_transport = dovecot ^^ Is in the conf.
- I'm using maildir.
- I'm not only having one virutal domain - there is planty of domains running on this system so "virtual_mailbox_domains = your.domain.here" isn't set afaik.
Please post the output of "postconf -n". Better, provide output from the postfinger tool. This can be found at http://ftp.wl0.org/SOURCES/postfinger.
It sounds suspiciously like you have 'virtual' configured incorrectly. When replying, please show which domains are "virtual".
^^ currently this is a testing system - it has a two virtual domains running. They're stored in a PGSQL Backend. What details will be interesting for you? Must I post the table structure with values?
Let me know if you need more
################# #################
server [~]# postconf -n alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases allow_mail_to_commands = alias, forward allow_mail_to_files = alias, forward append_at_myorigin = yes append_dot_mydomain = no biff = no bounce_queue_lifetime = 30m broken_sasl_auth_clients = no command_directory = /usr/local/sbin config_directory = /usr/local/etc/postfix content_filter = smtp-amavis:[127.0.0.1]:10024 daemon_directory = /usr/local/libexec/postfix data_directory = /var/db/postfix debug_peer_level = 3 default_privs = nobody default_process_limit = 100 default_recipient_limit = 200 disable_dns_lookups = no header_size_limit = 102400 html_directory = /usr/local/share/doc/postfix inet_interfaces = all inet_protocols = ipv4 local_recipient_maps = proxy:unix:passwd.byname $alias_maps mail_name = home-MTA mail_owner = postfix mail_version = 1.0 mailbox_size_limit = 0 mailq_path = /usr/local/bin/mailq manpage_directory = /usr/local/man max_use = 10 maximal_queue_lifetime = 1h message_size_limit = 20971520 mydestination = $myhostname, localhost.$mydomain, localhost mydomain = home myhostname = server.home mynetworks = 127.0.0.0/8 mynetworks_style = subent myorigin = $myhostname newaliases_path = /usr/local/bin/newaliases queue_directory = /var/spool/postfix readme_directory = /usr/local/share/doc/postfix recipient_delimiter = + resolve_numeric_domain = no sample_directory = /usr/local/etc/postfix sendmail_path = /usr/local/sbin/sendmail setgid_group = maildrop smtp_host_lookup = dns, native smtp_sasl_auth_enable = no smtp_tls_note_starttls_offer = yes smtpd_delay_reject = yes smtpd_enforce_tls = no smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = $mydomain smtpd_sasl_path = /var/spool/postfix/private/auth smtpd_sasl_security_options = noanonymous smtpd_sasl_type = dovecot smtpd_starttls_timeout = 300s smtpd_tls_CAfile = /etc/ssl/smtp/smtpd.pem smtpd_tls_cert_file = /etc/ssl/smtp/smtpd.pem smtpd_tls_key_file = /etc/ssl/smtp/smtpd.pem smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s smtpd_use_tls = yes syslog_facility = mail syslog_name = ${multi_instance_name:postfix}${multi_instance_name?$multi_instance_name} tls_random_prng_update_period = 3600s tls_random_source = dev:/dev/urandom transport_maps = pgsql:/usr/local/etc/postfix/transport_maps unknown_local_recipient_reject_code = 550 virtual_alias_maps = pgsql:/usr/local/etc/postfix/virtual_alias_maps virtual_gid_maps = pgsql:/usr/local/etc/postfix/virtual_gid_maps virtual_mailbox_base = /usr/local/www/home virtual_mailbox_maps = pgsql:/usr/local/etc/postfix/virtual_mailbox_maps virtual_transport = dovecot virtual_uid_maps = pgsql:/usr/local/etc/postfix/virtual_uid_maps server [~]#
################# #################
server [~]# postfinger postfinger - postfix configuration on Thu Jul 8 20:32:40 CEST 2010 version: 1.30
Warning: postfinger output may show private configuration information, such as ip addresses and/or domain names which you do not want to show to the public. If this is the case it is your responsibility to modify the output to hide this private information. [Remove this warning with the --nowarn option.]
--System Parameters-- mail_version = 2.6.5 hostname = server.home uname = FreeBSD server.home 8.0-RELEASE FreeBSD 8.0-RELEASE #5: Tue Jun 22 20:48:20 CEST 2010 root@server.home:/usr/obj/usr/src/sys/home amd64
--Packaging information-- looks like this postfix comes from BSD package: postfix-2.6.5,1
--main.cf non-default parameters-- append_dot_mydomain = no biff = no bounce_queue_lifetime = 30m content_filter = smtp-amavis:[127.0.0.1]:10024 debug_peer_level = 3 default_recipient_limit = 200 mail_name = home-MTA mail_version = 1.0 mailbox_size_limit = 0 max_use = 10 maximal_queue_lifetime = 1h message_size_limit = 20971520 mydomain = home mynetworks = 127.0.0.0/8 mynetworks_style = subent recipient_delimiter = + smtp_host_lookup = dns, native smtp_tls_note_starttls_offer = yes smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = $mydomain smtpd_sasl_path = /var/spool/postfix/private/auth smtpd_tls_CAfile = /etc/ssl/smtp/smtpd.pem smtpd_tls_cert_file = /etc/ssl/smtp/smtpd.pem smtpd_tls_key_file = /etc/ssl/smtp/smtpd.pem smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_use_tls = yes transport_maps = pgsql:/usr/local/etc/postfix/transport_maps virtual_alias_maps = pgsql:/usr/local/etc/postfix/virtual_alias_maps virtual_gid_maps = pgsql:/usr/local/etc/postfix/virtual_gid_maps virtual_mailbox_base = /usr/local/www/home virtual_mailbox_maps = pgsql:/usr/local/etc/postfix/virtual_mailbox_maps virtual_transport = dovecot virtual_uid_maps = pgsql:/usr/local/etc/postfix/virtual_uid_maps
--master.cf-- smtp inet n - n - - smtpd smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_tls_wrappermode=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject pickup fifo n - n 60 1 pickup cleanup unix n - n - 0 cleanup qmgr fifo n - n 300 1 qmgr tlsmgr unix - - n 1000? 1 tlsmgr rewrite unix - - n - - trivial-rewrite bounce unix - - n - 0 bounce defer unix - - n - 0 bounce trace unix - - n - 0 bounce verify unix - - n - 1 verify flush unix n - n 1000? 0 flush proxymap unix - - n - - proxymap proxywrite unix - - n - 1 proxymap smtp unix - - n - - smtp relay unix - - n - - smtp -o smtp_fallback_relay= showq unix n - n - - showq error unix - - n - - error retry unix - - n - - error discard unix - - n - - discard local unix - n n - - local virtual unix - n n - - virtual lmtp unix - - n - - lmtp anvil unix - - n - 1 anvil scache unix - - n - 1 scache dovecot unix - n n - - pipe flags=DRhu user=dovecot:dovecot argv=/usr/local/libexec/dovecot/deliver -f ${sender} -d ${recipient} smtp-amavis unix - - n - 2 smtp -o smtp_data_done_timeout=1200 -o disable_dns_lookups=yes 127.0.0.1:10025 inet n - n - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_client_restrictions= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 -o strict_rfc821_envelopes=yes -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000
-- end of postfinger output -- server [~]#
################# #################
server [~]# cat /usr/local/etc/dovecot.conf
Network
protocols = imap imaps pop3 pop3s managesieve listen = * shutdown_clients = yes
Logging
#mail_debug = yes #auth_verbose = yes #auth_debug = yes #auth_debug_passwords = yes log_timestamp = "%b %d %H:%M:%S " syslog_facility = mail
SSL settings
ssl = yes ssl_cert_file = /etc/ssl/dovecot/cert.pem ssl_key_file = /etc/ssl/dovecot/key.pem #ssl_key_password = passphrase
Login processes
verbose_proctitle = yes login_user = dovecot login_greeting = home MailSystem
Mailbox locations and namespaces
Not being used since we use PGSQL Virtual
mail_location = maildir:/var/mail/%d/%n mail_privileged_group = mail
Mail processes
dotlock_use_excl = yes first_valid_uid = 2000 first_valid_gid = 2000
Mailbox handling optimizations
mailbox_idle_check_interval = 30
Maildir-specific settings
maildir_copy_with_hardlinks = yes
IMAP specific settings
protocol imap { #listen = *:143 #ssl_listen = *:993 login_executable = /usr/local/libexec/dovecot/imap-login mail_executable = /usr/local/libexec/dovecot/imap mail_plugins = quota imap_quota mail_plugin_dir = /usr/local/lib/dovecot/imap #imap_max_line_length = 65536 imap_client_workarounds = outlook-idle }
POP3 specific settings
protocol pop3 { #listen = *:110 #ssl_listen = *:995 login_executable = /usr/local/libexec/dovecot/pop3-login mail_executable = /usr/local/libexec/dovecot/pop3 pop3_lock_session = no pop3_uidl_format = %08Xu%08Xv mail_plugins = quota mail_plugin_dir = /usr/local/lib/dovecot/pop3 pop3_client_workarounds = outlook-no-nuls oe-ns-eoh }
ManageSieve specific settings
protocol managesieve {
Login executable location.
#login_executable = /usr/local/libexec/dovecot/managesieve-login
ManageSieve executable location. See IMAPs mail_executable above for
examples how this could be changed.
#mail_executable = /usr/local/libexec/dovecot/managesieve
Maximum ManageSieve command line length in bytes. This setting is
directly borrowed from IMAP. But, since long command lines are very
unlikely with ManageSieve, changing this will not be very useful.
#managesieve_max_line_length = 65536
ManageSieve logout format string:
%i - total number of bytes read from client
%o - total number of bytes sent to client
#managesieve_logout_format = bytes=%i/%o
If, for some inobvious reason, the sieve_storage remains unset, the
ManageSieve daemon uses the specification of the mail_location to
find out
where to store the sieve files (see explaination in
README.managesieve).
The example below, when uncommented, overrides any global
mail_location
specification and stores all the scripts in ~/mail/sieve if
sieve_storage
is unset. However, you should always use the sieve_storage
setting.
mail_location =
mbox:~/mail
To fool ManageSieve clients that are focused on timesieved you can
specify the IMPLEMENTATION capability that the dovecot reports to
clients
(default:
"dovecot").
#managesieve_implementation_string = Cyrus timsieved
v2.2.13
}
LDA specific settings
protocol lda { postmaster_address = admin@server.home mail_plugins = sieve log_path = /var/log/dovecot-deliver.log info_log_path = /var/log/dovecot-deliver.log }
Authentication processes
auth_executable = /usr/local/libexec/dovecot/dovecot-auth auth_cache_size = 0 auth_cache_ttl = 3600 auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@ auth_username_format = %Lu disable_plaintext_auth = yes
auth default { mechanisms = cram-md5 passdb sql { args = /usr/local/etc/dovecot-sql.conf } userdb sql { args = /usr/local/etc/dovecot-sql.conf } user = nobody socket listen { master { path = /var/run/dovecot/auth-master mode = 0600 } client { path = /var/spool/postfix/private/auth mode = 0660 user = postfix group = postfix } } }
Plugin settings
plugin {
The location of the users active script:
sieve = ~/.dovecot.sieve
The include extension fetches the :personal scripts from this
directory. When ManageSieve is used, this is also where scripts
are uploaded.
#sieve_dir = ~/sieve
If the user has no personal active script (i.e. if the file
indicated in sieve= does not exist), use this one:
sieve_global_path = /usr/local/etc/dovecot/sieve/default.sieve
The include extension fetches the :global scripts from this
directory. Extension hamm wir nicht aktiviert.
#sieve_global_dir = /usr/local/etc/dovecot/sieve/global/
Scripts executed before the users script.
E.g. handling messages marked as dangerous
#sieve_before = /var/lib/dovecot/sieve/discard-virusses.sieve
Scripts executed after the users script (if keep is still in effect)
E.g. default mail filing rules.
#sieve_after = /var/lib/dovecot/sieve/after.d/
Quota Section
quota = maildir
}
dict { #quota = pgsql:/usr/local/etc/dovecot-dict-sql.conf }
server [~]#
On 07/08/2010 10:41 PM Leander S. wrote:
… transport_maps = pgsql:/usr/local/etc/postfix/transport_maps virtual_transport = dovecot … server [~]# postfinger … --master.cf-- dovecot unix - n n - - pipe flags=DRhu user=dovecot:dovecot argv=/usr/local/libexec/dovecot/deliver -f ${sender} -d ${recipient} … server [~]# cat /usr/local/etc/dovecot.conf
Useless use of cat. dovecot -n
output is sufficient.
One of your pgsql based transport_maps overrides your virtual_transport parameter. Either make sure your database returns 'dovecot' as transport or remove the transport_maps parameter, if you want to use 'dovecot' as transport for all virtual users.
Regards, Pascal
The trapper recommends today: beeffeed.1019014@localdomain.org
Pascal Volk schrieb:
On 07/08/2010 10:41 PM Leander S. wrote:
… transport_maps = pgsql:/usr/local/etc/postfix/transport_maps virtual_transport = dovecot … server [~]# postfinger … --master.cf-- dovecot unix - n n - - pipe flags=DRhu user=dovecot:dovecot argv=/usr/local/libexec/dovecot/deliver -f ${sender} -d ${recipient} … server [~]# cat /usr/local/etc/dovecot.conf
Useless use of cat.
dovecot -n
output is sufficient.One of your pgsql based transport_maps overrides your virtual_transport parameter. Either make sure your database returns 'dovecot' as transport or remove the transport_maps parameter, if you want to use 'dovecot' as transport for all virtual users.
Regards, Pascal
Ja MAN, that was it - the virtual: had to be replaced with dovecot: in the SQL DB. But no I'm not geting my mail delivered any more ;/ /var/maillog.log shows me following:
server postfix/pipe[1603]: 5A0BE7B6A9: to=<admin@server.netocean>, relay=dovecot, delay=0.64, delays=0.02/0.15/0/0.47, dsn=4.3.0, status=deferred (temporary failure)
What does deferred mean?
Thx for the help - much appreciated ;)
On Fri, 2010-07-09 at 17:13 +0200, Leander S. wrote:
server postfix/pipe[1603]: 5A0BE7B6A9: to=<admin@server.netocean>, relay=dovecot, delay=0.64, delays=0.02/0.15/0/0.47, dsn=4.3.0, status=deferred (temporary failure)
Make sure deliver can write to logs and look at its log files. http://wiki.dovecot.org/LDA#logging
Timo Sirainen schrieb:
On Fri, 2010-07-09 at 17:13 +0200, Leander S. wrote:
server postfix/pipe[1603]: 5A0BE7B6A9: to=<admin@server.netocean>, relay=dovecot, delay=0.64, delays=0.02/0.15/0/0.47, dsn=4.3.0, status=deferred (temporary failure)
Make sure deliver can write to logs and look at its log files. http://wiki.dovecot.org/LDA#logging
Thanks. I figured what I miss now-I just don't get where to merge this propper now. I would love to get a hint to get a reasonable config.
This is how my auth section currently looks like:
auth default { mechanisms = cram-md5
passdb sql { args = /usr/local/etc/dovecot-sql.conf }
userdb sql { args = /usr/local/etc/dovecot-sql.conf }
user = nobody
socket listen { master { path = /var/run/dovecot/auth-master mode = 0600 }
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
} }
And apparently I need to add something like that now:
service auth { unix_listener auth-master { group = mode = 0600 user = } }
and apparently auth-master will be too much in that case since auth-userdb should do the job.
Thanks
Timo Sirainen schrieb:
On Fri, 2010-07-09 at 17:13 +0200, Leander S. wrote:
server postfix/pipe[1603]: 5A0BE7B6A9: to=<admin@server.netocean>, relay=dovecot, delay=0.64, delays=0.02/0.15/0/0.47, dsn=4.3.0, status=deferred (temporary failure)
Make sure deliver can write to logs and look at its log files. http://wiki.dovecot.org/LDA#logging
Ok, I've figured out the issue - but I'm now getting a permission error.
Jul 09 18:19:01 deliver(admin@server.home): Fatal: setgid(2000) failed with euid=65534(nobody), gid=143(dovecot), egid=143(dovecot): Operation not permitted
Can someone explain me where Dovecot needs rights there? Or where Dovecot tries to write something?
Thx
On 07/09/2010 06:46 PM Leander S. wrote:
Jul 09 18:19:01 deliver(admin@server.home): Fatal: setgid(2000) failed with euid=65534(nobody), gid=143(dovecot), egid=143(dovecot): Operation not permitted
see http://wiki.dovecot.org/LDA#Multiple_UIDs
Regards, Pascal
The trapper recommends today: f007ba11.1019018@localdomain.org
Hi,
since Dovecot's deliver is creating folders for the user if needed - is there also a way of how to set the Spam folder for instance to a mode so that it can't be deleted by the user through IMAP anymore?
Thanks
hi,
since Dovecot's deliver is creating folders for the user if needed - is there also a way of how to set the Spam folder for instance to a mode so that it can't be deleted by the user through IMAP anymore?
use the autocreate-plugin:
Am 09.07.2010 um 19:50 schrieb Anton Dollmaier:
hi,
since Dovecot's deliver is creating folders for the user if needed - is there also a way of how to set the Spam folder for instance to a mode so that it can't be deleted by the user through IMAP anymore?
use the autocreate-plugin:
Sounds more like a job for ACLs IMHO.
Jerry schrieb:
On Thu, 08 Jul 2010 15:28:15 +0200 Leander S. <leander.schaefer@googlemail.com> articulated:
dovecot_destination_recipient_limit = 1 virtual_transport = dovecot ^^ Is in the conf.
- I'm using maildir.
- I'm not only having one virutal domain - there is planty of domains running on this system so "virtual_mailbox_domains = your.domain.here" isn't set afaik.
Please post the output of "postconf -n". Better, provide output from the postfinger tool. This can be found at http://ftp.wl0.org/SOURCES/postfinger.
It sounds suspiciously like you have 'virtual' configured incorrectly. When replying, please show which domains are "virtual".
^^ currently this is a testing system - it has a two virtual domains running. They're stored in a PGSQL Backend. What details will be interesting for you? Must I post the table structure with values?
Let me know if you need more
################# #################
server [~]# postconf -n alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases allow_mail_to_commands = alias, forward allow_mail_to_files = alias, forward append_at_myorigin = yes append_dot_mydomain = no biff = no bounce_queue_lifetime = 30m broken_sasl_auth_clients = no command_directory = /usr/local/sbin config_directory = /usr/local/etc/postfix content_filter = smtp-amavis:[127.0.0.1]:10024 daemon_directory = /usr/local/libexec/postfix data_directory = /var/db/postfix debug_peer_level = 3 default_privs = nobody default_process_limit = 100 default_recipient_limit = 200 disable_dns_lookups = no header_size_limit = 102400 html_directory = /usr/local/share/doc/postfix inet_interfaces = all inet_protocols = ipv4 local_recipient_maps = proxy:unix:passwd.byname $alias_maps mail_name = home-MTA mail_owner = postfix mail_version = 1.0 mailbox_size_limit = 0 mailq_path = /usr/local/bin/mailq manpage_directory = /usr/local/man max_use = 10 maximal_queue_lifetime = 1h message_size_limit = 20971520 mydestination = $myhostname, localhost.$mydomain, localhost mydomain = home myhostname = server.home mynetworks = 127.0.0.0/8 mynetworks_style = subent myorigin = $myhostname newaliases_path = /usr/local/bin/newaliases queue_directory = /var/spool/postfix readme_directory = /usr/local/share/doc/postfix recipient_delimiter = + resolve_numeric_domain = no sample_directory = /usr/local/etc/postfix sendmail_path = /usr/local/sbin/sendmail setgid_group = maildrop smtp_host_lookup = dns, native smtp_sasl_auth_enable = no smtp_tls_note_starttls_offer = yes smtpd_delay_reject = yes smtpd_enforce_tls = no smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = $mydomain smtpd_sasl_path = /var/spool/postfix/private/auth smtpd_sasl_security_options = noanonymous smtpd_sasl_type = dovecot smtpd_starttls_timeout = 300s smtpd_tls_CAfile = /etc/ssl/smtp/smtpd.pem smtpd_tls_cert_file = /etc/ssl/smtp/smtpd.pem smtpd_tls_key_file = /etc/ssl/smtp/smtpd.pem smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s smtpd_use_tls = yes syslog_facility = mail syslog_name = ${multi_instance_name:postfix}${multi_instance_name?$multi_instance_name} tls_random_prng_update_period = 3600s tls_random_source = dev:/dev/urandom transport_maps = pgsql:/usr/local/etc/postfix/transport_maps unknown_local_recipient_reject_code = 550 virtual_alias_maps = pgsql:/usr/local/etc/postfix/virtual_alias_maps virtual_gid_maps = pgsql:/usr/local/etc/postfix/virtual_gid_maps virtual_mailbox_base = /usr/local/www/home virtual_mailbox_maps = pgsql:/usr/local/etc/postfix/virtual_mailbox_maps virtual_transport = dovecot virtual_uid_maps = pgsql:/usr/local/etc/postfix/virtual_uid_maps server [~]#
################# #################
server [~]# postfinger postfinger - postfix configuration on Thu Jul 8 20:32:40 CEST 2010 version: 1.30
Warning: postfinger output may show private configuration information, such as ip addresses and/or domain names which you do not want to show to the public. If this is the case it is your responsibility to modify the output to hide this private information. [Remove this warning with the --nowarn option.]
--System Parameters-- mail_version = 2.6.5 hostname = server.home uname = FreeBSD server.home 8.0-RELEASE FreeBSD 8.0-RELEASE #5: Tue Jun 22 20:48:20 CEST 2010 root@server.home:/usr/obj/usr/src/sys/home amd64
--Packaging information-- looks like this postfix comes from BSD package: postfix-2.6.5,1
--main.cf non-default parameters-- append_dot_mydomain = no biff = no bounce_queue_lifetime = 30m content_filter = smtp-amavis:[127.0.0.1]:10024 debug_peer_level = 3 default_recipient_limit = 200 mail_name = home-MTA mail_version = 1.0 mailbox_size_limit = 0 max_use = 10 maximal_queue_lifetime = 1h message_size_limit = 20971520 mydomain = home mynetworks = 127.0.0.0/8 mynetworks_style = subent recipient_delimiter = + smtp_host_lookup = dns, native smtp_tls_note_starttls_offer = yes smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = $mydomain smtpd_sasl_path = /var/spool/postfix/private/auth smtpd_tls_CAfile = /etc/ssl/smtp/smtpd.pem smtpd_tls_cert_file = /etc/ssl/smtp/smtpd.pem smtpd_tls_key_file = /etc/ssl/smtp/smtpd.pem smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_use_tls = yes transport_maps = pgsql:/usr/local/etc/postfix/transport_maps virtual_alias_maps = pgsql:/usr/local/etc/postfix/virtual_alias_maps virtual_gid_maps = pgsql:/usr/local/etc/postfix/virtual_gid_maps virtual_mailbox_base = /usr/local/www/home virtual_mailbox_maps = pgsql:/usr/local/etc/postfix/virtual_mailbox_maps virtual_transport = dovecot virtual_uid_maps = pgsql:/usr/local/etc/postfix/virtual_uid_maps
--master.cf-- smtp inet n - n - - smtpd smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_tls_wrappermode=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject pickup fifo n - n 60 1 pickup cleanup unix n - n - 0 cleanup qmgr fifo n - n 300 1 qmgr tlsmgr unix - - n 1000? 1 tlsmgr rewrite unix - - n - - trivial-rewrite bounce unix - - n - 0 bounce defer unix - - n - 0 bounce trace unix - - n - 0 bounce verify unix - - n - 1 verify flush unix n - n 1000? 0 flush proxymap unix - - n - - proxymap proxywrite unix - - n - 1 proxymap smtp unix - - n - - smtp relay unix - - n - - smtp -o smtp_fallback_relay= showq unix n - n - - showq error unix - - n - - error retry unix - - n - - error discard unix - - n - - discard local unix - n n - - local virtual unix - n n - - virtual lmtp unix - - n - - lmtp anvil unix - - n - 1 anvil scache unix - - n - 1 scache dovecot unix - n n - - pipe flags=DRhu user=dovecot:dovecot argv=/usr/local/libexec/dovecot/deliver -f ${sender} -d ${recipient} smtp-amavis unix - - n - 2 smtp -o smtp_data_done_timeout=1200 -o disable_dns_lookups=yes 127.0.0.1:10025 inet n - n - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_client_restrictions= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 -o strict_rfc821_envelopes=yes -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000
-- end of postfinger output -- server [~]#
################# #################
server [~]# cat /usr/local/etc/dovecot.conf
Network
protocols = imap imaps pop3 pop3s managesieve listen = * shutdown_clients = yes
Logging
#mail_debug = yes #auth_verbose = yes #auth_debug = yes #auth_debug_passwords = yes log_timestamp = "%b %d %H:%M:%S " syslog_facility = mail
SSL settings
ssl = yes ssl_cert_file = /etc/ssl/dovecot/cert.pem ssl_key_file = /etc/ssl/dovecot/key.pem #ssl_key_password = passphrase
Login processes
verbose_proctitle = yes login_user = dovecot login_greeting = home MailSystem
Mailbox locations and namespaces
Not being used since we use PGSQL Virtual
mail_location = maildir:/var/mail/%d/%n mail_privileged_group = mail
Mail processes
dotlock_use_excl = yes first_valid_uid = 2000 first_valid_gid = 2000
Mailbox handling optimizations
mailbox_idle_check_interval = 30
Maildir-specific settings
maildir_copy_with_hardlinks = yes
IMAP specific settings
protocol imap { #listen = *:143 #ssl_listen = *:993 login_executable = /usr/local/libexec/dovecot/imap-login mail_executable = /usr/local/libexec/dovecot/imap mail_plugins = quota imap_quota mail_plugin_dir = /usr/local/lib/dovecot/imap #imap_max_line_length = 65536 imap_client_workarounds = outlook-idle }
POP3 specific settings
protocol pop3 { #listen = *:110 #ssl_listen = *:995 login_executable = /usr/local/libexec/dovecot/pop3-login mail_executable = /usr/local/libexec/dovecot/pop3 pop3_lock_session = no pop3_uidl_format = %08Xu%08Xv mail_plugins = quota mail_plugin_dir = /usr/local/lib/dovecot/pop3 pop3_client_workarounds = outlook-no-nuls oe-ns-eoh }
ManageSieve specific settings
protocol managesieve {
Login executable location.
#login_executable = /usr/local/libexec/dovecot/managesieve-login
ManageSieve executable location. See IMAPs mail_executable above for
examples how this could be changed.
#mail_executable = /usr/local/libexec/dovecot/managesieve
Maximum ManageSieve command line length in bytes. This setting is
directly borrowed from IMAP. But, since long command lines are very
unlikely with ManageSieve, changing this will not be very useful.
#managesieve_max_line_length = 65536
ManageSieve logout format string:
%i - total number of bytes read from client
%o - total number of bytes sent to client
#managesieve_logout_format = bytes=%i/%o
If, for some inobvious reason, the sieve_storage remains unset, the
ManageSieve daemon uses the specification of the mail_location to
find out
where to store the sieve files (see explaination in
README.managesieve). # The example below, when uncommented, overrides any global mail_location # specification and stores all the scripts in ~/mail/sieve if sieve_storage
is unset. However, you should always use the sieve_storage setting.
# mail_location = mbox:~/mail
# To fool ManageSieve clients that are focused on timesieved you can
specify the IMPLEMENTATION capability that the dovecot reports to
clients
(default: "dovecot").
#managesieve_implementation_string = Cyrus timsieved v2.2.13
}
LDA specific settings
protocol lda { postmaster_address = admin@server.home mail_plugins = sieve log_path = /var/log/dovecot-deliver.log info_log_path = /var/log/dovecot-deliver.log }
Authentication processes
auth_executable = /usr/local/libexec/dovecot/dovecot-auth auth_cache_size = 0 auth_cache_ttl = 3600 auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@ auth_username_format = %Lu disable_plaintext_auth = yes
auth default { mechanisms = cram-md5 passdb sql { args = /usr/local/etc/dovecot-sql.conf } userdb sql { args = /usr/local/etc/dovecot-sql.conf } user = nobody socket listen { master { path = /var/run/dovecot/auth-master mode = 0600 } client { path = /var/spool/postfix/private/auth mode = 0660 user = postfix group = postfix } } }
Plugin settings
plugin {
The location of the users active script:
sieve = ~/.dovecot.sieve
The include extension fetches the :personal scripts from this
directory. When ManageSieve is used, this is also where scripts
are uploaded.
#sieve_dir = ~/sieve
If the user has no personal active script (i.e. if the file
indicated in sieve= does not exist), use this one:
sieve_global_path = /usr/local/etc/dovecot/sieve/default.sieve
The include extension fetches the :global scripts from this
directory. Extension hamm wir nicht aktiviert.
#sieve_global_dir = /usr/local/etc/dovecot/sieve/global/
Scripts executed before the users script.
E.g. handling messages marked as dangerous
#sieve_before = /var/lib/dovecot/sieve/discard-virusses.sieve
Scripts executed after the users script (if keep is still in effect)
E.g. default mail filing rules.
#sieve_after = /var/lib/dovecot/sieve/after.d/
Quota Section
quota = maildir
}
dict { #quota = pgsql:/usr/local/etc/dovecot-dict-sql.conf } server [~]#
participants (7)
-
Anton Dollmaier
-
Jerry
-
Leander S.
-
Pascal Volk
-
Stan Hoeppner
-
Thomas Leuxner
-
Timo Sirainen