Vacation replies (out of office)
While you are away, Mailocity can answer mail for you with a short automatic reply. There are two ways to set one up:
- The vacation response: on or off, optional start and end dates, a subject and a message. This is what most people want, and what the webmail screen (M2) will edit. Until then it is set from mail apps that speak JMAP, or by an administrator through the API.
- **The Sieve
vacationaction**, for replies that depend on the message: only to customers, a different text for urgent mail, and so on. See Mail filters.
When a filter sends a reply, the vacation response does not send a second one for the same message.
Who gets a reply
Automatic replies follow the rules other mail servers expect (RFC 3834 and RFC 5230), so they do not annoy lists or start mail loops. A message gets a reply only when all of these are true:
- It was addressed to you by name: one of your addresses or aliases is in To, Cc or Bcc. Mail that reached you as a hidden copy of a newsletter or through someone else's list does not.
- It is not from a mailing list (List-Id or other List- headers), not bulk mail (Precedence: bulk, list or junk), not itself an automatic reply (Auto-Submitted), and not a bounce.
- The sender is not you, and not an address such as MAILER-DAEMON, postmaster, no-reply,
owner-...or...-request. - It was not filed in Junk, for example because it failed the sender's DMARC policy.
- The sender has not had a reply from you in the last 7 days (for the vacation response) or in the period the script set (for the Sieve action). Changing the start date begins a new period, so everyone gets a reply again the next time you are away.
What the reply looks like
- From: the address the message was sent to (without a +tag). A Sieve script can use
:fromto reply from another of your own addresses or aliases; any other address is ignored. - Subject: your subject, or "Auto: " and the original subject.
- Body: your text. With both a text and an HTML message, mail apps show whichever they prefer. With neither, a short default text says you are away.
- It is marked
Auto-Submitted: auto-repliedand refers to the original message, so it is threaded with it and other servers do not answer it. - It is sent with an empty return path, so it can never bounce back to you, and signed with your domain's DKIM key.
Replies to colleagues on this server go straight to their inbox. Replies to other domains go through the outbound queue and count against your sending limits like any other mail.
Setting the vacation response
From a mail app that supports JMAP (RFC 8621): VacationResponse/get and VacationResponse/set with the capability urn:ietf:params:jmap:vacationresponse. The response is always called singleton; it cannot be created or destroyed, only updated.
Administrators, through the API:
PUT /v1/tenants/{tenantId}/accounts/{accountId}/vacation
Content-Type: application/json
{
"isEnabled": true,
"fromDate": "2026-12-20T00:00:00Z",
"toDate": "2027-01-04T00:00:00Z",
"subject": "Out of office",
"textBody": "I am away until 4 January and will reply when I am back.",
"htmlBody": null
}
GET on the same path shows it. Either date may be null: no start date starts at once, no end date runs until it is turned off. The end must be after the start. The subject is one line of up to 255 characters; each message body can be up to 64 KiB.
The Sieve vacation action
require ["vacation", "fileinto"];
if address :domain "from" "bigcustomer.example" {
vacation :days 1 :subject "Away until Monday"
:from "Support <support@corp.example>"
:addresses ["support@corp.example"]
"For urgent issues call +1 555 0100.";
}
:days(1 to 30, default 7) is how often the same sender may get a reply. Withrequire "vacation-seconds",:secondssets it more finely, down to one hour.:addresseslists more addresses that count as yours, for the "addressed to you by name" rule.:handlenames the reply; replies with the same handle share the period. Without it, replies that say different things count separately.:mimemakes the text a MIME part with its own Content-Type, for HTML or several parts. Only its Content- header fields are used.vacationdoes not stop the message from being kept or filed. It cannot be combined withreject: a rejected message gets no reply.
Limits
- At most one reply per sender per period, per reply.
- Records of who got a reply are kept for 31 days.
- Replies count against the account's hourly and daily sending limits; when a limit is reached, no reply is sent.
In webmail
Open Filters (the sliders button at the top) and use Vacation reply: switch it on, optionally choose the first and last day, and write the subject and message. It works alongside any filters.
Not yet
- Replies are not limited to known contacts or to senders that passed SPF or DKIM. Mail with a forged sender may get a reply at the forged address, at most once per period; spam filtering (Rspamd, M1) will send more of that mail to Junk, which never gets a reply.