@@ -53,10 +53,11 @@ public function onBeforeRun() {
5353 public function onRunJob () {
5454 global $ app , $ conf ;
5555
56- $ trash_names =array ('Trash ' , 'Papierkorb ' , 'Deleted Items ' , 'Deleted Messages ' , 'INBOX.Trash ' , 'INBOX.Papierkorb ' , 'INBOX.Deleted Messages ' );
56+ $ trash_names =array ('Trash ' , 'Papierkorb ' , 'Deleted Items ' , 'Deleted Messages ' , 'INBOX.Trash ' , 'INBOX.Papierkorb ' , 'INBOX.Deleted Messages ' , ' Corbeille ' );
5757 $ junk_names =array ('Junk ' , 'Junk Email ' , 'SPAM ' , 'INBOX.SPAM ' );
5858
59- $ purge_cmd = 'doveadm expunge -u ? mailbox ? sentbefore ' ;
59+ $ expunge_cmd = 'doveadm expunge -u ? mailbox ? sentbefore ' ;
60+ $ purge_cmd = 'doveadm purge -u ? ' ;
6061 $ recalc_cmd = 'doveadm quota recalc -u ? ' ;
6162
6263 $ server_id = intval ($ conf ['server_id ' ]);
@@ -67,17 +68,18 @@ public function onRunJob() {
6768 if ($ email ['purge_trash_days ' ] > 0 ) {
6869 foreach ($ trash_names as $ trash ) {
6970 if (is_dir ($ email ['maildir ' ].'/Maildir/. ' .$ trash )) {
70- $ app ->system ->exec_safe ($ purge_cmd .intval ($ email ['purge_trash_days ' ]).'d ' , $ email ['email ' ], $ trash );
71+ $ app ->system ->exec_safe ($ expunge_cmd .intval ($ email ['purge_trash_days ' ]).'d ' , $ email ['email ' ], $ trash );
7172 }
7273 }
7374 }
7475 if ($ email ['purge_junk_days ' ] > 0 ) {
7576 foreach ($ junk_names as $ junk ) {
7677 if (is_dir ($ email ['maildir ' ].'/Maildir/. ' .$ junk )) {
77- $ app ->system ->exec_safe ($ purge_cmd .intval ($ email ['purge_junk_days ' ]).'d ' , $ email ['email ' ], $ junk );
78+ $ app ->system ->exec_safe ($ expunge_cmd .intval ($ email ['purge_junk_days ' ]).'d ' , $ email ['email ' ], $ junk );
7879 }
7980 }
8081 }
82+ $ app ->system ->exec_safe ($ purge_cmd , $ email ['email ' ]);
8183 $ app ->system ->exec_safe ($ recalc_cmd , $ email ['email ' ]);
8284 }
8385 }
0 commit comments