Revision as of 00:23, 3 July 2008 by King0770 (talk | contribs)

Removing Messages with Zmmailbox based on the Subject

# subject
if [ -z "$2" ]; then
echo "usage: <subject>"
exit 0
echo "Searching $addr  for Subject:  $subject"
for msg in `zmmailbox -z -m "$addr" s -l 999 -t message "subject:$subject"|awk '{ if (NR!=1) {print}}' | grep -v -e Id -e "-" -e "^$" | awk '{ print $2 }'`
echo "Removing "$msg""
zmmailbox -z -m $1 dm $msg

Copy/Paste the script into a file, call it what you want, something like, "". The syntax using the script would be something like:

./ subjectName

If the subject contains more than one word, put double quotes around the subject.

./ "Hello World"

Special thanks to Matt Fox.

Reinitialize the Logger DB

Worst case scenario for the logger db's: If some for reason the USE_FRM option fails, you could move the old logger db out of the way and start over. The only bad part is that you would lose historical data, however it would resolve the corrupted table issue(s).

If you wish the start over with the logger db's, here are the steps (run as zimbra).

$ zmloggerctl stop
$ mv /opt/zimbra/logger/db /opt/zimbra/logger/db-old
$ source /opt/zimbra/bin/zmshutil 
$ zmsetvars 
$ /opt/zimbra/libexec/zmloggerinit ${mysql_logger_root_password}
$ zmlogswatchctl start

Spam Info

If you haven't already, try implementing the use of RBL's. This is from:

su - zimbra

zmprov mcf \
zimbraMtaRestriction reject_invalid_hostname \
zimbraMtaRestriction reject_non_fqdn_hostname \
zimbraMtaRestriction reject_non_fqdn_sender \
zimbraMtaRestriction "reject_rbl_client" \
zimbraMtaRestriction "reject_rbl_client" \
zimbraMtaRestriction "reject_rbl_client" \
zimbraMtaRestriction "reject_rbl_client" \
zimbraMtaRestriction "reject_rbl_client" \
zimbraMtaRestriction "reject_rbl_client" 

zmmtactl reload
**don't forget to reload Postfix**

RBL's will usually cut 50% of unwanted mail flow off the top before scanning for spam.

You can also decrease kill and tag percentages, have a look what they are at now. Basically, the lower the numbers, the more aggressive a potential spam will be tagged; I believe we ship with those numbers a little high.

zmprov gacf | grep -e zimbraSpamTagPercent -e zimbraSpamKillPercent

If you decide to adjust zimbraSpamTagPercent & zimbraSpamKillPercent, don't forget to run this command:

zmamavisdctl restart

With the RBL's in place, with a lower threshold, wait for a couple of days, see what the spam traffic is like then.

License - Misc

TTL for the account count cache is either 1 minute when they are very close to the limit, or 1 hour if the total account count is less than 90% of the quota. In other words, the server will correct itself without restart in an hour in the worse case. See

  • Admin counts towards user count,
  • Spam, Ham, Wiki accounts don't count toward user count total

Preferred Method Moving Users To New Machine

I believe the best method to transfer users from one ZCS machine to another ZCS machine would be to use the "move mailbox" method. The concept behind the move mailbox method is that the user's account is transferred from one host to another keeping their data intact, i.e. mail, contacts, and calendar. It will move accounts one at a time, and the account being moved will only be inaccessible for the duration of the move. Basically, you would make the new server to be an ldap replica to the old server; configure the old server to be the ldap master on the new server. Once you have moved all of the accounts to the new server/replica, promote the replica to be the master, documentation on promoting the replica to master is here: The move mailbox function can be accomplished by using the Admin Console, or by CLI. In the Admin Console, there is a button labeled "move mailbox" when you edit an account. From the CLI, here is an article detailing the zmmailboxmove,

This is King0770's personal opinion, not Zimbra's official position.


This would be a good place to start.

This url is good, however, this article is referring configuring a replica during zcs install.

Jump to: navigation, search