Zimbra Change Domain For Ham, Spam, Galsync and Virus Accounts
Thanks to Sam Saqr https://tech.saqr.org/2020/01/zimbra-move-change-domain-ham-spam.html !!!!!
Maybe the domain that was created by default is not the domain that you intended. Or when you setup zimbra you were not paying attention and server name got added in front of the domain ie mail.domain.com instead of just domain.com.
Now you need to setup the ham, spam, galsync, and virus-quarantine accounts to your new domain.
Lets start with ham and spam.
From zimbra webadmin find the spam and ham accounts under manage and then search individually for ham and spam. They will have random characters after the name. We will need the full name of both accounts. Right click to edit the account and under account name change the domain to your newly created domain and save. Do this for both accounts. Also get the names of both accounts. You can copy and paste them to use in the following command line.
As zimbra user on the mail server run these commands.
You can also check the current spam accounts with
zmprov gcf zimbraSpamIsSpamAccount
zimbraSpamIsSpamAccount: spam@old.domain.com
zmprov gcf zimbraSpamIsNotSpamAccount
zimbraSpamIsNotSpamAccount: ham@old.domain.com
Change the spam and ham accounts
zmprov mcf zimbraSpamIsSpamAccount spam.random@newdomain.com
zmprov mcf zimbraSpamIsNotSpamAccount ham.random@newdomain.com
zmcontrol restart
Change the virus-quarantine account
From the manage users in zimbra web admin edit the virus-quarantine account and change the domain to the newdomain
Now we need to link the global config attribute zimbraAmavisQuarantineAccount to the newly created account.
zmprov mcf zimbraAmavisQuarantineAccount virus-quarantine.random@newdomain.com
flush the cache
zmprov fc config
zmprov gcf zimbraAmavisQuarantineAccount zimbraAmavisQuarantineAccount: virus-quarantine.random@newdomain.com
check the av_notify_user and av_notify_domain
zmlocalconfig av_notify_user
zmlocalconfig av_notify_domain
If you need to change either of the settings
zmlocalconfig -e av_notify_user=admin@newdomain.com
zmlocalconfig -e av_notify_domain=newdomain.com
Galsync account needs to be recreated and a new sync forced.
From zimbra webadmin get the galsync account name. You can just use your own random string if you dont want to lookup the account and use the same one.
zmgsautil deleteAccount -a galsync.random@old.domain.com
command to create the new account
zmgsautil createAccount -a galsync.random@newdomain.com -n InternalGAL --domain newdomain.com -s MAILBOX.SERVER.NAME -t zimbra -f _InternalGAL
Command to force sync the gal account
zmgsautil forceSync -a galsync.random@newdomain.com -n InternalGAL