Many users has bad email: account deleted, user suspended, no space in mailbox etc. Your mails to this users back to you with errors.
This is advanced version of (SL) Force users to change email
Make users unapproved until they did not change their email address
To users with bad emails did not send any emails
Approving emails by users
Move users to selected group
Log all actions
All you need for work is bad emails list.
How to get users list with bad emails?
1. Manually: see your mailer-daemon letters
2. You can use special services
2. Auto: in mail error.log
i am doing like this:
cat mail.log|grep "user is terminated\|No such user\|account is disabled\|The email account that you tried to reach does not exist" >mail.log.badmails
cat mail.log.badmails|cut -d " " -f1,2|uniq -c >mail.log.badmails.stats
sed -E "s/[[:space:]]+/ /g" mail.log.badmails|cut -d " " -f7|sort|uniq -c|sort -n -r|sed 's/to=<//g'|sed 's/>,//g'|sed 's/ //g' >mail.log.badmails.to.stats
sed -E "s/[[:space:]]+/ /g" mail.log.badmails|cut -d " " -f7|sort|uniq -c|sort -n -r|sed 's/.*to=<//g'|sed 's/>,//g' >mail.log.badmails.list
You get file mail.log.badmails.list where all your bad mails listed.
Just copy-paste into config. Thats all.
Tested with 4.3!