Skip to main content

Zimbra Autoresponder

Server-side automatic replies and out-of-office messages for Zimbra - scheduled, centrally managed, loop-safe.

Out-of-office notices, acknowledgement emails, and automatic replies are everyday needs. Zimbra covers the simplest case - a personal vacation reply each user turns on in their own preferences - but there is no central autoresponder management in Zimbra. Anything beyond one user's out-of-office means configuring accounts one by one with zmprov, or bolting on scripts.

This page walks through the per-account zmprov approach and where it gets tedious, then shows how MSH Zimbra Rules provides scheduled, loop-safe autoresponder rules from a central web panel.

The manual way: per-account zmprov settings

Zimbra stores the out-of-office reply as account preferences. An administrator can switch it on for one mailbox from the command line (as the zimbra user):

Enable an out-of-office reply for one account
zmprov ma alice@example.com \
zimbraPrefOutOfOfficeReplyEnabled TRUE \
zimbraPrefOutOfOfficeReply "I am out of the office until August 15." \
zimbraPrefOutOfOfficeFromDate 20260801000000Z \
zimbraPrefOutOfOfficeUntilDate 20260815000000Z

For anything organisation-wide - a support acknowledgement, a reply for a shared address, a notice for a whole team - you end up looping over accounts:

enable-team-autoreply.sh (excerpt)
for account in $(zmprov gdlm support-team@example.com); do
zmprov ma "$account" \
zimbraPrefOutOfOfficeReplyEnabled TRUE \
zimbraPrefOutOfOfficeReply "Thank you - we received your message."
done

It works for a single user, but it does not scale or stay flexible:

  • Per-account settings. Every mailbox is configured separately; a team-wide reply means scripting and remembering to undo it later.
  • One reply per account. Different responses for external senders, specific domains, or certain subjects are not possible.
  • Plain text workflow. Composing a formatted HTML acknowledgement through zmprov arguments is unpleasant and error-prone.
  • Hard to audit. There is no central overview of who has an autoresponder active and until when.
  • Conditions take scripting. Rules like "only reply to external senders" or "skip mailing lists" require extra logic outside the built-in mechanism.

Autoresponder rules with MSH Zimbra Rules

MSH Zimbra Rules adds autoresponders as rules in the web administrator panel. You set the reply subject and body, add conditions, and optionally schedule a date range - with loop protection handled for you.

Set it up in four steps

  1. Install MSH Zimbra Rules on the Zimbra server and connect the milter engine to Zimbra's Postfix with a few zmlocalconfig settings.
  2. Create an autoresponder rule with the reply subject and message body.
  3. Add conditions and a schedule - target the right senders or recipients and set optional start and end dates.
  4. Test and enable with the built-in rules tester.

Because rules are centralised, setting an out-of-office for one person or a whole team is a few clicks, and built-in loop protection keeps replies from bouncing back and forth or hitting mailing lists.

Frequently asked questions

Does Zimbra have a built-in autoresponder?

Zimbra has a per-account out-of-office reply that each user enables in their preferences, or an admin sets with zmprov. There is no central place to manage automatic replies across users, groups, or domains. MSH Zimbra Rules provides server-side autoresponder rules from a web panel, with conditions and scheduling.

Can I schedule an out-of-office reply for a date range?

Yes. Autoresponder rules in MSH Zimbra Rules include a scheduler, so you can set an out-of-office reply to run only between specific start and end dates.

How do I stop the autoresponder from replying to mailing lists or itself?

MSH Zimbra Rules includes loop protection and conditions that prevent reply loops and avoid auto-replying to bulk or list mail.

Can I set up auto-replies centrally for many users?

Yes. Autoresponder rules are managed centrally in the web administrator panel and can target individual users, groups, or domains, instead of configuring each account one by one with zmprov.