I believe main.cf will always be rewritten on service restarts. Try using
main.cf.default. Alternatively, I think you might be able to do this with
postconf as the Zimbra user (changing 127.0.0.1:8092 to the IP and port of your MailArchiva server):
Code:
postconf -e milter_default_action=tempfail
Code:
postconf -e smtpd_milters=inet:127.0.0.1:8092
If that still doesn't persist, maybe try editing /opt/zimbra/conf/zmmta.conf and enter the values manually. The formatting might be different, so be careful:
Code:
POSTCONF milter_default_action tempfail
POSTCONF smtpd_milters inet:127.0.0.1:8092