У меня следующая проблема при удалении почтового ящика из Posfixadmin удаляется только запись в базе exim(mysql), а реальные папки удаленного пользователя остаются /var/spool/imap/user/пользователь
Если удалить папку в ручную то будет противоречивость в базе /var/lib/imap и если создать снова пользователя с таким именем то у вновь созданного пользователя такие папки не создадутся будет ошибка.
Я тут обнаружил кое какие скрипты /Postfixadmin/ADDITIONS/cyrus/
cyrus-mailbox-postcreation.pl
cyrus-mailbox-postdelete.pl
cyrus-mailbox-postedit.pl
но куда их подключить не знаю?
Пробовал удалять старые папки с помощью cyradm но так как пользователи хранятся в Mysql то можно зайти только реальным пользователем который видит только свои папки а чужие mailbox нет.
Во общем нужна помощь - я уже свою голову сломал. Мне надо чтобы корректно при удалении пользователя удалялись и папки imap пользователя.
Мои конфиги:
/etc/cyrus.conf
Код: Выделить всё
START {
# do not delete this entry!
recover cmd="ctl_cyrusdb -r"
idled cmd="idled"
}
SERVICES {
imap cmd="imapd" listen="imap" prefork=5
#imaps cmd="imapd -s" listen="imaps" prefork=1
pop3 cmd="pop3d" listen="pop3" prefork=3
#pop3s cmd="pop3d -s" listen="pop3s" prefork=1
#sieve cmd="timsieved" listen="sieve" prefork=0
#nntp cmd="nntpd" listen="nntp" prefork=3
#nntps cmd="nntpd -s" listen="nntps" prefork=1
#lmtp cmd="lmtpd" listen="lmtp" prefork=0
lmtpunix cmd="lmtpd" listen="/var/lib/imap/socket/lmtp" prefork=1
}
EVENTS {
checkpoint cmd="ctl_cyrusdb -c" period=30
delprune cmd="cyr_expire -E 3" at=0400
tlsprune cmd="tls_prune" at=0400
}
Код: Выделить всё
autocreatequota: 10485760
createonpost: yes
configdirectory: /var/lib/imap
partition-default: /var/spool/imap
admins: cyrus
allowplaintext: yes
virtdomains: userid
defaultdomain: *******
allowanonymouslogin: no
sasl_password_format: plaintext
sasl_sql_verbose: yes
sasl_pwcheck_method: auxprop
sasl_auxprop_plugin: sql
sasl_mech_list: LOGIN PLAIN
sasl_sql_engine: mysql
sasl_sql_user: exim
sasl_sql_passwd: ******
sasl_sql_database: exim
sasl_sql_hostnames: localhost
sasl_sql_select: SELECT password FROM mailbox WHERE local_part = '%u' and active=1 limit 1
Код: Выделить всё
$CONF['configured'] = true;
$CONF['setup_password'] = '***';
$CONF['postfix_admin_url'] = '';
$CONF['postfix_admin_path'] = dirname(__FILE__);
$CONF['default_language'] = 'en';
// Database Config
$CONF['database_type'] = 'mysqli';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'exim';
$CONF['database_password'] = '******';
$CONF['database_name'] = 'exim';
ВОТ ИНТЕРЕСНЫЕ СТРОКИ НО КУДА ПОДСТАВИТЬ СКРИПТЫ НЕ ЗНАЮ
// Optional:
// $CONF['mailbox_postcreation_script']='sudo -u courier /usr/local/bin/postfixadmin-mailbox-postcreation.sh';
// Optional:
// $CONF['mailbox_postedit_script']='sudo -u courier /usr/local/bin/postfixadmin-mailbox-postedit.sh';
// Optional:
// $CONF['mailbox_postdeletion_script']='sudo -u courier /usr/local/bin/postfixadmin-mailbox-postdeletion.sh';