Postfixadmin mailbox deletion
This commit is contained in:
parent
08ddca07c8
commit
5816c705d4
4 changed files with 46 additions and 0 deletions
|
|
@ -94,3 +94,4 @@ mailserver:
|
||||||
show_footer_text: 'NO'
|
show_footer_text: 'NO'
|
||||||
quota_multiplier: '1048576'
|
quota_multiplier: '1048576'
|
||||||
page_size: '500'
|
page_size: '500'
|
||||||
|
mailbox_postdeletion_script: sudo -u vmail /etc/postfixadmin/mailbox-postdeletion.sh
|
||||||
|
|
|
||||||
|
|
@ -63,6 +63,36 @@
|
||||||
mode: 0700
|
mode: 0700
|
||||||
path: /var/cache/postfixadmin/templates_c
|
path: /var/cache/postfixadmin/templates_c
|
||||||
|
|
||||||
|
- name: copy postfixadmin mailbox postdeletion script
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: postfixadmin/mailbox-postdeletion.sh.j2
|
||||||
|
dest: /etc/postfixadmin/mailbox-postdeletion.sh
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: "0755"
|
||||||
|
|
||||||
|
- name: copy postfixadmin sudoers config
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: postfixadmin/sudoers.j2
|
||||||
|
dest: /etc/sudoers.d/10-postfixadmin
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: "0644"
|
||||||
|
|
||||||
|
- name: create directory for deleted mailboxes
|
||||||
|
ansible.builtin.file:
|
||||||
|
state: directory
|
||||||
|
owner: vmail
|
||||||
|
group: vmail
|
||||||
|
mode: 0700
|
||||||
|
path: /var/mail/vmail/.deleted/
|
||||||
|
|
||||||
|
- name: add cronjob to cleanup deleted mailboxes
|
||||||
|
ansible.builtin.cron:
|
||||||
|
name: cleanup deleted mailboxes
|
||||||
|
job: 'find /var/mail/vmail/.deleted/ -mindepth 1 -maxdepth 1 -mtime +1 -exec rm -r {} \;'
|
||||||
|
minute: "37"
|
||||||
|
|
||||||
# php_version and "restart php-fpm" handler from nginx role
|
# php_version and "restart php-fpm" handler from nginx role
|
||||||
- name: create postfixadmin php pool
|
- name: create postfixadmin php pool
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
|
|
|
||||||
14
templates/postfixadmin/mailbox-postdeletion.sh.j2
Normal file
14
templates/postfixadmin/mailbox-postdeletion.sh.j2
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Parameters: (1) username (2) domain
|
||||||
|
# username = localpart@domain
|
||||||
|
|
||||||
|
localpart="${1%%@*}"
|
||||||
|
domain="${1#*@}"
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
test -d "/var/mail/vmail/$domain/$localpart" || exit 0
|
||||||
|
|
||||||
|
touch "/var/mail/vmail/$domain/$localpart"
|
||||||
|
mv "/var/mail/vmail/$domain/$localpart" "/var/mail/vmail/.deleted/$(date '+%Y%m%d%H%M%S')-$localpart@$domain"
|
||||||
1
templates/postfixadmin/sudoers.j2
Normal file
1
templates/postfixadmin/sudoers.j2
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
postfixadmin ALL = (vmail) NOPASSWD: /etc/postfixadmin/mailbox-postdeletion.sh
|
||||||
Loading…
Add table
Add a link
Reference in a new issue