PEP: Reply Files
Please consider switching to our new and improved hosting service:
For support call:     778-410-2454

PEP: Reply Files

The KEEP, DELETE, REPLY, and CHALLENGE actions can send an automatic reply to incoming messages. Replies that are sent automatically like this are called auto responders.

There are many uses for auto responders. They can be used to let people know that their message has been received and will be read shortly. They can be used to tell people that you're currently on vacation and won't get to their message until a later date. They can be used to explain why someone's message was deleted, and so on.

General Format of Reply Files

A reply file is a plain text file that you must create yourself and upload to your account. By "plain text" I mean a text only file that contains no special formatting codes from your word processor (if you use a word processor to create these file, make sure you save them as "text only").

A reply file looks like a regular mail message and it has two sections that are separated by a blank line. The first section is a list of message headers, and the second section is the actual body of the message.

For example:

To: {from}
Subject: I'm on vacation

You message about {subject} was received, but I'm away
on holidays until July 1st and won't be able to read it
until then.


  • You must not have any blank lines above or in the middle of the headers. The first blank line that is encountered marks the end of the header section and everything else is taken to be the body of the message.

  • You can add any headers you want to, and you can also have none at all, but generally you'll want to have at least a From:, To:, and Subject: header.

  • Certain headers will be added by PEP automatically (like a Message-ID:, Date:, and so on).


In the example above you'll see things like {from} and {subject}. Those are placeholders and will be replaced with other values at the time the message is sent.

When PEP encounters a word that is enclosed in curly braces like that, it replaces the whole thing with the value of the header with that name. So {from} will get replaced with whatever is in the From: header of the message to which we're responding.

If the header does not exist, the placeholder is simply removed.

If you need to include some actual curly braces in the message, you can escape them with backslashes: \{from} will not be treated as a placeholder but will appear in the message as {from}. If you need to embed a literal backslash in a message, do the same thing: \\ becomes a single \.

You can embed any header value in a message this way, including the special PEP headers. There is one special placeholder you can use as well: {*} will be replaced with the entire contents of the original message. Use that one with caution!

There is also a way to include the contents of another file in the reply message. This might be useful if you have multiple reply files and you want to append a common footer to all of them without having to edit them all when it changes. This can be done with a placeholder that looks like this: {include sigfile.txt}

Reply Restrictions

There are certain situations where PEP will refuse to send a reply file because it's either against the Internet e-mail standards or because it's impossible to do so.

PEP will not send a reply file when the original message appears to be some sort of error message or when it appears to come from a mailing list. In particular, PEP examines the following things:

  • is the return address empty or set to <>?
  • does the return address match mailer-daemon@*, postmaster@*, listserv@*, mailer@*, *-request@*, *-relay@*, *-outgoing@*, bounce-*@*, or owner-*@*?
  • are there any headers with a name that matches List-*?
  • is there a Precedence: header with a value of junk, list, or bulk?
  • is there an X-Mailing-List: header?
Replies are sent to the envelope sender, which is the address that was provided to our mail server via the MAIL FROM: command. This is almost always the same address you'll see in the Return-path: header.

Replies are sent with a null sender so any bounces to your autoreplies will not come back to you. As long as you include a From: header with a valid e-mail address, recipients will be able to rpely to them though.

Reply Caching

Let's say you are away on vacation and you've set up an auto-responder to tell people this. How often do you need to remind the same person that you're away? It can be really annoying to keep getting the same reply for every message you send.

So PEP remembers which reply files have been sent to which addresses and ensures that no more than one copy is sent to the same address per time interval. The default time interval is 1 day. You can change that with the replyinterval command. This command is followed by a number and an interval qualifier: 'h' for hours, 'd' for days, or 'w' for weeks. The minimum value is 1 hour.

In this example we're going to send the file "vacation.txt" but only once every 5 days:

replyinterval 5d
keep if * matches * with "vacation.txt"

Hints & Tips

Don't send replies to mailing lists

Sending auto-responses to mailing lists annoys everyone on the list and usually gets you unsubscribed. PEP does a pretty good job of identifying a mailing list message and it refuses to send replies to them. However, it's possible that some mailing lists don't adhere to common practice and won't be recognised by PEP. In this case it's up to you to explicitly KEEP such messages before they reach an auto-responder rule.

Be careful when composing vacation messages

Autoresponders that give away too much information can be a security risk. Do you really need to tell complete strangers that you'll be away from your house for the next week?