Christian.net Saturday
September 6 2008

Help Documents: PEP

Main | Actions | Headers | Tests | Commands | Reply Files | DNS Blocklists | SpamAssassin | Challenges | Glossary | Spam FAQ | SMTP Tutorial | PEP Wizard

Commands

Commands are not rules: they don't test the current message in any way. Instead they control various settings and affect how PEP processes your mailrule file.

ENABLE/DISABLE LOGGING
These commands enable or disable the logging option. When enabled, time stamped entries are written to a log file in your account. This is disabled by default. The default log file name is "pep.log".

ENABLE/DISABLE REPLYCACHE
These commands enable or disable the caching option on reply files. Caching is enabled by default. It is unlikely that you'll need to disable it (and not recommended unless you know what you're doing). Caching means that PEP remembers which reply files were sent to which addresses and avoids sending the same file more than once in a given time period. The default time period is one day.

Examples:
enable replycache
disable replycache

RESOLVE
This command does a reverse lookup on the IP address of the machine that passed the message to our server and stores the result in the HOSTNAME "header" value, which you can then test. DNS looksups like this can often take a long time to complete, which is why it isn't done automatically. Use this option carefully and try to use it after you've taken other steps to delete unwanted mail.

This example deletes any mail that comes from an apparent dialup pool:
resolve
delete if hostname matches *.dialup.*

RESET
This command is used to reset or initialize the internal SCORE value. Without a parameter it sets the score to zero, which is also the default when PEP starts up. You can optionally provide a number to set the score to.

DATERANGE
This command checks to see if the current date (on the mail server) falls between two dates. If it does, then things proceed normally. If the current date falls outside the two dates then all subsequent lines (both rules and commands) are ignored up to the next DATERANGE command.

You must specify both dates and the must be separated with a space. Each date must use the YYYY-MM-DD format (A four digit year, a dash, a two digit month, a dash, and a two digit day). Months and days less than 10 must start with a zero. Do not insert any spaces within each date.

This example sends a vacation notice, but only between August 15th and September 5th:
daterange 2002-08-15 2002-09-05
keep if * matches * with "vacation.txt"
daterange

TIMEFRAME
This command checks to see if the current time (on the mail server) falls within the specified time frame. If it does, then everything proceeds normally. If the current time falls outside the specified time frame then all subsequent lines (both rules and commands) are ignored up to the next TIMEFRAME command. This allows you to have rules that are only valid during certains days of the week or hours of the day.

The timeframe value is a string containing day indicators (Su = Sunday, Mo = Monday, Tu = Tuesday, We = Wednesday, Th = Thursday, Fr = Friday, Sa = Saturday, Wk = Weekdays Monday through Friday, and Al = All days) and hour ranges (24 hour format with hours and minutes but no colon).

If you specify only an hour range and no day indicators, then it is assumed to apply to all days of the week. You cannot specify day indicators without a time range. If you specify no time frame at all, it is the same as "Al 0000-2359" (ie: any day, any time).

This example forwards all mail to bob@aol.com, but only on the weekends (Saturday and Sunday, all day):
timeframe SaSu -
forward if * matches * to bob@aol.com
timeframe

This example sends a page, but only between 9:00am and 5:00pm on weekdays, and 10:00am and 3:00pm on Saturdays:
timeframe Wk 0900-1700, Sa 1000-1500
page if * matches * to "RADIOWORKS-12345" timeframe