[Dovecot] expire-plugin: configuration dict-server
Dino Ming
dino.ming at gmail.com
Tue Aug 5 16:50:54 EEST 2008
Dear Jens,
Mind didn't worked ever. Below is my dovecot config. Could you give me a
hint on it.? Dovecot didn't update the dict_expire table whenever I
remove a message or move a message into the Trash folder. Is there any
different on the dovecot.conf between u and me ?
# dovecot-dict-expire.conf
connect = host=xxxx dbname=xxxx user=xxxxpassword=xxxx
table = dict_expire
select_field = timestamp
where_field = path
username_field = username
# dovecot -n
# 1.1.2: /usr/local/etc/dovecot.conf
base_dir: /var/run/dovecot/
log_path: /var/log/dovecot.log
protocols: imap pop3
listen: 192.168.18.20
ssl_disable: yes
disable_plaintext_auth: no
shutdown_clients: no
login_dir: /var/run/dovecot/login
login_executable(default): /usr/local/libexec/dovecot/imap-login
login_executable(imap): /usr/local/libexec/dovecot/imap-login
login_executable(pop3): /usr/local/libexec/dovecot/pop3-login
login_greeting: Service Ready.
login_greeting_capability(default): yes
login_greeting_capability(imap): yes
login_greeting_capability(pop3): no
login_process_size: 32
login_processes_count: 10
login_max_processes_count: 256
max_mail_processes: 1024
verbose_proctitle: yes
first_valid_uid: 26
last_valid_uid: 26
first_valid_gid: 26
last_valid_gid: 26
mail_access_groups: mail
mail_location: maildir:~/Maildir
mmap_disable: yes
mail_nfs_storage: yes
mail_nfs_index: yes
maildir_stat_dirs: yes
mail_executable(default): /usr/local/libexec/dovecot/imap
mail_executable(imap): /usr/local/libexec/dovecot/imap
mail_executable(pop3): /usr/local/libexec/dovecot/pop3
mail_plugins(default): expire fts fts_squat quota imap_quota
mail_plugins(imap): expire fts fts_squat quota imap_quota
mail_plugins(pop3): expire quota
mail_plugin_dir(default): /usr/local/lib/dovecot/imap
mail_plugin_dir(imap): /usr/local/lib/dovecot/imap
mail_plugin_dir(pop3): /usr/local/lib/dovecot/pop3
imap_client_workarounds(default): delay-newmail outlook-idle
netscape-eoh tb-extra-mailbox-sep
imap_client_workarounds(imap): delay-newmail outlook-idle netscape-eoh
tb-extra-mailbox-sep
imap_client_workarounds(pop3):
pop3_client_workarounds(default):
pop3_client_workarounds(imap):
pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh
namespace:
type: private
separator: .
prefix: INBOX.
inbox: yes
list: yes
subscriptions: yes
auth default:
cache_size: 8192
cache_ttl: 900
verbose: yes
worker_max_count: 10
passdb:
driver: sql
args: /usr/local/etc/dovecot-mysql.conf
userdb:
driver: sql
args: /usr/local/etc/dovecot-mysql.conf
socket:
type: listen
client:
path: /var/run/dovecot/auth-client
mode: 438
master:
path: /var/run/dovecot/auth-master
mode: 438
plugin:
quota: maildir
quota_rule: *:storage=2G
quota_rule2: Trash:storage=10M
expire: Trash 2
expire_dict: proxy::expiredict
auth_socket_path: /var/run/dovecot/auth-master
fts: squat
fts_squat: partial=4 full=10
dict:
expiredict: mysql:/usr/local/etc/dovecot-dict-expire.conf
Thanks,
Dino
Jens Meyer wrote:
> Hello Eric,
>
> thank you for your further help.
>
> Now I understand the concept of this plugin - great!
>
> The record was created:
>
> username path timestamp
> jens at test.jensmeyer.de/Trash 1218029872
>
> AFAIK I have to add "Trash" instead of "INBOX.Trash" when seeing this
> record, correct?
>
> Kind regards,
>
> Jens
>
> Eric Toczek schrieb:
>> Jens Meyer wrote:
>>> Hello Eric,
>>>
>>> thank you very much for your prompt and helpful reply!
>>>
>>> The connect seem to work fine now.
>>>
>>> Please allow me two additional questions:
>>> Is it correct that this database-table is only a "caching-table" which
>>> is empty at first and will be filled later? It is not necessary to
>>> adapt the SQL-statement to my user-configuration, is it?!
>> Correct. The table is filled when the message is moved to one of the
>> folders that is marked as an Expire folder. That folder is added to the
>> table with a timestamp like so:
>>
>>
>> $ echo "select * from mail.expire where path like 'eric%'" | mysql -u
>> root -p
>> Enter password:
>> username path timestamp
>> eric at flerd.com/Junk 1217943338
>> eric at flerd.com/Trash 1217941084
>>
>>
>>> Is it necessary to reference the foldernames with "INBOX.Trash" or
>>> only "Trash"? For Sieve I have to use "INBOX.Trash".
>>>
>> Use INBOX.Trash if the trash folder you're looking to clear out is a
>> subfolder of your Inbox.
>>
>>> Actually nothing happens when trying the plugin with "dovecot
>>> --exec-mail ext /usr/libexec/dovecot/expire-tool --test".
>> Do you have the plugin loaded in the imap protocol section?
>>
>> protocol imap {
>> ...
>> mail_plugins = fts fts_squat quota imap_quota expire
>> ...
>> }
>>
>>
>> If you do then the table should get updated when you move a message into
>> the trash folder.
>>
>> If you've got the plugin set correctly and you're still not getting
>> anything written into the table you can restart mysql with query logging
>> on:
>> http://dev.mysql.com/doc/refman/5.0/en/query-log.html
>>
>> Then move a message to one of the expire folders and see what query
>> is run on the database and if it's not succeeding due to an error.
>>
>
More information about the dovecot
mailing list