[Dovecot] Expire plugin does not work
Christoph Pleger
Christoph at plmail.de
Thu Dec 16 21:55:25 EET 2010
Hello,
I followed the instructions on http://wiki2.dovecot.org/Plugins/Expire to
configure the expire plugin, but when I move a message to the Trash folder, I
get the following error messages in my logfile:
dovecot: dict: Error: sqlite: exec(INSERT INTO expires
(expire_stamp,username,mailbox) VALUES ('1292525469','christoph','Trash'))
failed: unable to open database file (14)
dovecot: dict: Error: sql dict: commit failed:
I have attached a "dovecot -n"-generated dovecot.conf, the configuration file
for the expire dict service, and my sqlite3 database file. In my filesystem,
dovecot-dict.sqlite currently has permissions 666.
Regards
Christoph
-------------- next part --------------
# 2.0.7: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-bpo.5-amd64 x86_64 Debian 5.0.7
auth_mechanisms = plain login
dict {
expire = sqlite:/etc/dovecot/dovecot-dict-sql.conf.ext
}
disable_plaintext_auth = no
first_valid_uid = 122
last_valid_uid = 122
mail_gid = vmail
mail_location = mdbox:~/mdbox
mail_plugins = " expire"
mail_uid = vmail
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
passdb {
args = scheme=PLAIN-MD5 username_format=%Ln /etc/dovecot/databases/users
driver = passwd-file
}
plugin {
antispam_backend = SPOOL2DIR
antispam_spam = Spam
antispam_spool2dir_notspam = %h/ham/%%020lu-%%05lu
antispam_spool2dir_spam = %h/spam/%%020lu-%%05lu
antispam_trash = Trash
expire = Spam
expire2 = Trash
expire_dict = proxy::expire
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
}
protocols = imap lmtp sieve
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
}
service dict {
unix_listener dict {
group = vmail
mode = 0660
user = vmail
}
}
service imap-login {
inet_listener imap {
port = 0
}
inet_listener imaps {
port = 993
ssl = yes
}
}
service lmtp {
unix_listener lmtp {
group = dspam
mode = 0660
user = root
}
}
service managesieve-login {
inet_listener sieve {
port = 4190
}
inet_listener sieve_deprecated {
port = 2000
}
}
service pop3-login {
inet_listener pop3 {
port = 0
}
inet_listener pop3s {
port = 0
ssl = yes
}
}
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem
userdb {
args = username_format=%Ln /etc/dovecot/databases/users
driver = passwd-file
}
protocol lmtp {
mail_plugins = " expire sieve"
}
protocol imap {
imap_client_workarounds = delay-newmail
mail_plugins = " expire antispam"
}
-------------- next part --------------
connect = /etc/dovecot/dovecot-dict.sqlite
# CREATE TABLE quota (
# username varchar(100) not null,
# bytes bigint not null default 0,
# messages integer not null default 0,
# primary key (username)
# );
map {
pattern = priv/quota/storage
table = quota
username_field = username
value_field = bytes
}
map {
pattern = priv/quota/messages
table = quota
username_field = username
value_field = messages
}
# CREATE TABLE expires (
# username varchar(100) not null,
# mailbox varchar(255) not null,
# expire_stamp integer not null,
# primary key (username, mailbox)
# );
map {
pattern = shared/expire/$user/$mailbox
table = expires
value_field = expire_stamp
fields {
username = $user
mailbox = $mailbox
}
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dovecot-dict.sqlite
Type: application/x-sqlite3
Size: 3072 bytes
Desc: not available
Url : http://dovecot.org/pipermail/dovecot/attachments/20101216/054af17f/attachment.bin
More information about the dovecot
mailing list