I want to share my implementation of PostSRSd (https://github.com/roehling/postsrsd) with Zimbra (8.7.11 at the time of writing) and CentOS 7 which survives a reboot or update (tested 8.7.10 to 8.7.11):
After installing Zimbra download master.zip from https://github.com/roehling/postsrsd/ and install (as root) following README. Next:
Code: Select all
# systemctl enable postsrsd
# systemctl start postsrsd
# su - zimbra
$ zmprov mcf zimbraMtaSenderCanonicalMaps "tcp:localhost:10001"
$ postconf -e sender_canonical_maps=tcp:localhost:10001
$ postconf -e sender_canonical_classes=envelope_sender
$ postconf -e recipient_canonical_maps=tcp:localhost:10002
$ postconf -e recipient_canonical_classes=envelope_recipient,header_recipient
$ zmmtactl reload
You need the one zmprov line for sender canonical maps as this one parameter is defined in the new Zimbra LDAP and gets overwritten on each restart of MTA.
If the other Postfix options (e.g. recipient canonical maps) make it to the LDAP tree at some point in the future you might need additional zmprov lines...
Depending on your setup (MTA FQDN vs hosted domain) you might need to adjust /etc/default/postsrsd
PS. I would love to hear from Zimbra why the whole issue (http://www.openspf.org/FAQ/Forwarding) appears to be ignored for years now?
excerpt from maillog of Zimbra 8.7.11 installed for testing a few days ago without PostSRSd installed:
status=bounced (host said: 554 5.7.1 : Recipient address rejected: Spf check: fail (in reply to RCPT TO command))
Hope this helps someone! Looking forward to your feedback or more elegant implementations!