I needed to fetch mail from a POP3 account and deliver it to a Zimbra account. Because I’m doing this for multiple POP3 accounts, I want to add a header which I can use in Zimbra to filter. This is what we made:
poll server user "user" pass "secret" mda "formail -A 'X-Zimbra-To: firstname.lastname@example.org'| /opt/zimbra/postfix/sbin/sendmail -i -t email@example.com"
The -i tells sendmail to ignore a single dot on a line, because that would normally mean end of mail. The -t is “to” (not the header “To:“).
It is a bit unclear why postfix delivers locally to Zimbra, since doing
mail firstname.lastname@example.org routes through an external SMTP server, which is configured in Zimbra to be used as MTA for outgoing mail. It is configured as ‘webmail MTA’.