Lets assume that we have two mail servers
primary.mailserver.com
secondary.mailserver.com
What we ultimately want is secondary.mailserver.com to accept, store ( and forward ) mail for primary.mailserver.com when it goes down.
On secondary.mailserver.com from within the administration console add the domain in question you are configuring. From console on secondary.mailserver.com run the following commands as user zimbra
zmprov md domain.com zimbraMailCatchAllAddress @domain.com
zmprov md domain.com zimbraMailCatchAllForwardingAddress @domain.com
zmprov md domain.com zimbraMailTransport smtp:primary.mailserver.com
In DNS your primary mail server should have a lower weighting ( 1 in this example ) then your secondary (10) and should look something like this.
[root@mailhost ~]# dig mx mailserver.com
; <<>> DiG 9.7.3-P3-RedHat-9.7.3-8.P3.el6_2.1 <<>> mx mailserver.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43716
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;mailserver.com. IN MX
;; ANSWER SECTION:
mailserver.com. 3600 IN MX 10 secondary.mailserver.com.
mailserver.com. 3600 IN MX 1 primary.mailserver.com.
;; Query time: 104 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Jan 6 15:02:06 2012
;; MSG SIZE rcvd: 72