Islandnet.com Personal Email
Processing (PEP)



NOTE: This page is somewhat obsolete. We are currently working on new PEP documentation, which you can view here: http://www.islandnet.com/pep/ (under construction).

What is PEP?
How does it work?
What does the rule file look like?
How do I create or change my rule file?
Rules
Commands
Reply Files
Referencing Header Values
The X-PARENTAL-Score Header
Using blacklist databases
How do I control my mailbox quota?
Examples


What is PEP?

PEP stands for Personal Email Processing. It is the computer program that actually delivers each piece of incoming email to your mailbox on Islandnet.

You can optionally provide a list of rules that tell PEP how to process each message. These rules can delete certain messages (useful for filtering out junk mail), forward or copy them to another address, save them to files, generate an automatic reply (autoresponders), send them to your FAX machine or pager, and much more.

PEP is available for use by any Islandnet.com customer at no extra charge. It is not available with any other ISP.


How does it work?

When a new email message arrives on Islandnet.com's mail server, PEP looks for a file in your account called "mailrule". If this file does not exist, then it simply appends the message to your mailbox and it is done. If the "mailrule" file does exist then the message is compared against each rule in the file until a matching rule is found and the requested action is taken. If no matching rules are found, the message is appended to your mailbox.

PEP is also responsible for limiting the size of your mailbox. If new mail arrives and your mailbox is already larger than your quota, a note is sent back to the sender asking them to try sending it again later. The default quota is 10 megabytes but you can adjust this.

PEP runs on our mail server, before the mail gets to your mailbox. This means you can take advantage of it regardless of your preferred email software.


What does the rule file look like?

The rule file must be named "mailrule" and it must be located in the root directory of your account in order to work.

The file itself is a plain text file with one command or rule per line. Blank lines or lines that begin with a hash mark are ignored. These are handy if you want to include comments to yourself in the file or if you want to temporarily disable a particular rule.

There is no limit to the number of commands or rules that may appear in your rule file.

NOTE: The order of the rules is important! The first rule that matches the message is the one that "wins", and any remaining rules are ignored for that message (this behavior can be changed with the ENABLE MULTIMATCH command).

A sample mailrule file might look like this:

# Jane Smith's mailrule File

reply if subject equals "info" with "info.txt"
delete if subject contains "make money fast"
copy if subject contains "project" to "bob@aol.com"
page if subject contains "urgent" to "RADIOWORKS-5551234"
This simple example contains one "comment" (the first line), one blank line, and four rules. This example contains no commands (commands are different from rules in that they affect the operation of PEP and are not compared against the message themselves). We will discuss the actual commands and rules in a later section.


How do I create or change my rule file?

The quickest and easiest method is to us our web-based file manager to edit the file (you will need to enter your login and password):

You can also use FTP to log into your account, then upload a text file called "mailrule".


Rules

Rules are lines in your mailrule file that are used to test the message in question. All rules have a similar format:

ACTION if [not] HEADERS TEST "VALUE" ["PARAMETER"]

This means that each rule starts with an action, followed by the word "if", the optional word "not", one or more email header names, a test, a value to test against (double quotes are needed if it contains spaces), and one or two optional parameter values (also may need quotes). Please note that only the test value and the parameters may be enclosed in quotes--do not use them anywhere else.

Inclusion of the word "not" causes the result of the test to be negated.

Actions:

KEEP
This action causes the message to be appended to your mailbox. If the optional PARAMETER value is specified, it is assumed to be the name of a text file that should be emailed back to the sender of the message.

Examples:

keep if to equals "janesmith@islandnet.com"
keep if subject contains "more info" with "info.txt"

DELETE
This action causes the message to be deleted. If the optional PARAMETER value is specified, it is assumed to be the name of a text file that should be emailed back to the sender of the message.

Examples:

delete if subject contains "make money"
delete if from contains "@spamdomain.com" with "nospam.txt"

BOUNCE
This action causes a server-generated bounce message to be sent back to the sender. By default the error message is "No such user", but you can specify a different error message. Note that the error message should be fairly brief, no more than 70 characters or so.

Examples:

bounce if to contains "friend@public" with "Spam not welcome here"
bounce if origin contains "aol.com"

NOTIFY
This action also deletes the message, but it emails you a notice telling you that it did so. It tells you which rule in your mailrule file was activated and optionally lists all the headers from the message (refer to the ENABLE HEADERS command).

Examples:

notify if subject contains "make money"
notify if from contains "@spamdomain.com" with "nospam.txt"

REPLY
This action emails a reply to the sender of the message. In this case the PARAMETER value is not optional and it must be the name of a text file within your account. By default the original message is not kept in your mailbox (you can change this with the ENABLE KEEPREPLY command). If a second PARAMETER is specified, then it is assumed to be an email address to send the reply to instead of the original sender. No notification messages are sent to you, regardless of whether or not you have enabled "notify".

NOTE: Be careful not to simply reply to ALL messages unless you are sure you aren't on any legitimate mailing lists. There is no need to have everyone on the list get your replies. PEP will not send replies if the message has a Precedence: header which is set to "bulk", "list", or "junk", nor will it reply to messages from MAILER-DAEMON.

Example:

reply if subject contains "info" with "info.txt"

COPY
This action emails a copy of the message to PARAMETER. In this case the PARAMETER value is not optional and it must be an email address. The original message is kept in your mailbox.

Example:

copy if subject contains "quote wanted" to "bob@aol.com"

FORWARD
This action forwards the message to PARAMETER. In this case the PARAMETER value is not optional and it must be a single email address. The original message is not kept in your mailbox. Note that PEP will not forward messages greater than 5 megs in size. If you need to receive messages larger than that to another address, have them sent there in the first place to avoid wasted bandwidth.

Example:

forward if subject contains "quote wanted" to "bob@aol.com"

SAVE
This action saves the message into PARAMETER. In this case PARAMETER is not optional and it must be the name of a file in your account. The file name may contain directory names as long as all the directories exist. If the file does not exist it is created. If it does exist then the message is appended to it (it will never overwrite an existing file).

If PEP is unable to open the file for any reason, it keeps the message in your mailbox, otherwise it does not keep a copy (you can force it to always keep a copy with the ENABLE KEEPSAVE command).

Example:

save if subject contains "order" to "savedmail/orders"

BSAVE
This action saves the body of the message into the file named in PARAMETER. Headers are stripped out, and any previous contents of the file are deleted. If the file does not exist it is created. All the directories in the path must already exist however.

If PEP is unable to open the file for any reason, it keeps the message in your mailbox, otherwise it does not keep a copy (you can force it to always keep a copy with the ENABLE KEEPSAVE command).

Example:

bsave if subject contains "secret password" to "www/client.html"

MSAVE
This action saves a MIME attachment to the file named in PARAMETER. Only the last part of a multi-part MIME message is saved, all the others are ignored. If the file already exists it is replaced. Filenames specified in the MIME headers are not used.

If PEP is unable to open the file for any reason, it keeps the message in your mailbox, otherwise it does not keep a copy (you can force it to always keep a copy with the ENABLE KEEPSAVE command).

Example:

msave if subject contains "secret password" to "www/logo.gif"

PAGE
This action sends a message to a pager. In this case PARAMETER is not optional and must contain a pager identifier. The pager identifier consists of "RADIOWORKS", "CANTEL", "CANTELPCS", "BCTEL", "PAGENET", CLEARNETMIKE", "MICROCELL", or, "DIALDIRECT", followed by a dash, then your pager number.

BC Tel Mobility pagers require one extra digit at the beginning of the pager number. Insert a '0' if your pager is from the 604 area code, and a '2' if it's from the 250 area code. Example: BCTEL-25551234

Cantel PCS, Microcell, and Clearnet "Mike" customers must include the area code as well as the 7 digit phone number, making 10 digits in total. Example: CANTELPCS-2505551234

The default message sent to the pager is "PEP: {from} - {subject}" where "{from}" is replaced with the value of the FROM header and "{subject}" is replaced with the value of the SUBJECT header. You can change the pager message with the PAGERMESSAGE command.

By default the original email message is kept in your mailbox (you can change this with the DISABLE KEEPPAGE command).

This action works both with alphanumeric pagers (pagers that can display text) and numeric pagers (pagers that can only display numbers). Of course, if you use a numeric pager you will want to use the PAGERMESSAGE command to specify a message containing only digits.

Pager messages will be attempted up to 5 times before failing. Islandnet.com offers no guarantees that pager messages will get through to you. If you have a pager from a service other than those listed above, contact us and we will see what we can do to support you. Islandnet.com reserves the right to place limits on the number of pager messages sent per month if necessary. This feature is for your own use, you may not use it to process pager messages for other parties.

Example:

page if subject contains "urgent" to "RADIOWORKS-5551234"

FAX
This action sends a copy of the message to your FAX machine. In this case the PARAMETER value is not optional and must contain a fax identifier. The fax identifier consists of "VICTORIA", "DUNCAN", or "NANAIMO", followed by a dash, then the 7 digit FAX number. The number portion of your fax identifier must be exactly seven characters long and must not contain any dashes.

This command will only work if your FAX number is within local calling range of the supported cities.

By default the original message is kept in your mailbox (you can change this with the DISABLE KEEPFAX command).

FAX messages will be attempted up to 3 times before failing. Islandnet.com offers no guarantees that fax messages will get through to you. Islandnet.com reserves the right to place limits on the number of faxes sent per month if necessary. This feature is intended for your own use, you may not use it to process faxes for other parties.

Example:

fax if subject contains "order" to "VICTORIA-5551234"

SCORE
This command will add to, subtract from, or reset the current "score". The score is a special header value that is numeric, it may be positive or negative. It starts at zero by default. Unlike most other actions, this one does not cause processing to halt. It merely adjusts the current score value according to the value of PARAMETER and carries on. You can then test the value of the current score just like any other header to see if it is more or less than a specific value. PARAMETER must be a number that optionally begins with a '+', '-', or '=' symbol.

Example:

score if to equals "" +5
score if from equals "" +5
delete if score > 9

INSERT
This command will insert a custom header into the message. Unlike most other actions, this one does not cause processing to halt. It adds the specified header name and value and carries on. PARAMETER #1 is the name of the header (don't include a colon), and PARAMETER #2 is the value (which may reference other headers by enclosing them in curly braces). The added headers will be present in the message only if it is ultimately "kept" (either via an explicit KEEP action or by default). This can be useful to enhance the abilities of your email software's filtering. You can insert up to 16 custom headers per message.

Inserted headers are not currently added to copied or forwarded messages, but this may change in the future.

Example:

insert if subject contains "make money" "X-MMF" "Yes"

JUMP
This special command tells PEP to start ignoring lines until it reaches a specified keyword. PARAMETER is not optional and must contain a keyword with no spaces - it can be anything you want. Later on in the rule file there must be a line that begins with an '@' symbol followed immediately (no spaces) with this keyword. When a message matches a JUMP rule, all subsequent lines in the rule file are skipped up to and including the keyword itself. There can be any number of lines between a JUMP action and the keyword.

Example:

jump if x-mailer contains "pegasus" to "peg"
delete if comments contains "authenticated sender"
@peg
Headers:

Absolutely any header that exists in the message can be tested. When specifying headers, keep in mind that upper/lower case does not matter - "FROM", "From" and "from" are all the same thing. Also note that you should not include a colon at the end of the header name.

It would be impossible to list every potential header, but here are some of the more common ones:

  • FROM - Who the message is from.
  • TO - Who the address is addressed to.
  • CC - Additional addresses to which the message is addressed.
  • SUBJECT - The subject of the message.
  • RETURN-PATH - This is the address to which replies will be sent.
  • X-MAILER - An optional identifier indicating what email software
  • RECEIVED - Contains info about which SMTP servers the message passed through.

In addition to real header values, there are some contrived headers that you can test:

  • LINES - Contains the number of lines in the message.
  • BYTES - Contains the size in bytes of the message.
  • TOCOUNT - Contains the number of addresses found in the TO header.
  • APTOCOUNT - Contains the number of addresses found in the APPARENTLY-TO header.
  • CCCOUNT - Contains the number of addresses found in the CC header.
  • IP - Contains the IP number from the first Received: header.
  • HOSTNAME - Contains the result of a reverse DNS lookup on the IP number.
  • ORIGIN - Includes From, Apparently-From, Message-ID, Reply-To, Return-Path, and X-Sender.
  • DESTINATION - Includes To, Apparently-To, and CC.
  • BODY - Contains the first and last 16 lines of the message body.
  • MAILBOX - The current size in bytes of your mailbox.
  • SCORE - The current score value.

Normally you would only test a single header per rule, but you can specify more than one header so long as you separate them with commas and use no spaces. For example:

delete if to,from contains "@public.com"
The example above will match the message if either the TO or the FROM header contain the specified value.

NOTE: The two exceptions to this are the "origin" and "destination" headers, which can only be used by themselves. These special header names cannot be used in a comma-separated list.

You can also test all headers using the special "*" header name. Except for this one special header name, you cannot use wildcards when specifying headers. For example:

delete if * contains "iemmc"
NOTE: This wildcard matches contrived headers as well, including the first and last 16 lines of the body.

One additional "header" is "%". This is assigned a numeric value between 1 and 100 that is more or less random. The best way to explain the use of this is with an example: Perhaps your customers send you email that has the word "help" in it when they need technical support. You have three different people who handle such messages, and you want email to be distributed evenly between these people. You would use the following rules:

jump if not subject contains "help" to "no_help"
forward if % < 34 to "Tech1@islandnet.com"
forward if % < 67 to "Tech2@islandnet.com"
forward if * matches * to "Tech3@islandnet.com"
@no_help
First of all, if there's no "help" in the subject we just skip over the three tests. If "%" has a value between 1 and 33, the message gets delivered to the first technician. If the value is between 34 and 66, it goes to the second technician. Finally, if it hasn't been delivered to anyone yet, the last rule sends it to the third technician by default. The order is important, we have to check for values in increasing order. Be sure that you have not enabled multimatch or this won't work correctly.

Tests:

There are several different tests you can perform on a header:

EQUALS
True if the header equals VALUE exactly. Upper/lower case does not matter. For example, "janesmith@islandnet.com" equals "JANESMITH@IslandNet.com".

CONTAINS
True if the header contains VALUE. Upper/lower case does not matter. This is a substring search, no wildcards are allowed. For example, "$$$ Make Money Fast $$$" contains "make money".

MATCHES
True if the header matches the wildcard pattern VALUE. Upper/lower case does not matter. The wildcard "*" matches zero or more characters, "#" matches one or more digits, and "?" matches any single character. For example, "2761982@aol.com" matches "#@aol.com".

STARTS WITH
True if the header starts with VALUE. Upper/lower case does not matter. For example, "198.53.172.1" starts with "198.53.172.".

IS IN
True if the header matches an entry in the file named VALUE. Each entry in the file is compared against the header value using a wildcard match (it's exactly like having a list of "matches" rules). If the specified file does not exist in your account, then it looks for a global file of the same name. If you wish to create such a file, it must contain one entry per line and may use the '*', '#', or '?' wildcards. Blanks lines are ignored, no comments are allowed. If you have a large list of addresses to check a message against, this is more efficient and easier to maintain than individual rules.

<
True if the header is less than VALUE. This only works for numeric values (like LINES, BYTES, etc). For example, "10" is less than "50".

>
True if the header is more than VALUE. This only works for numeric values (like LINES, BYTES, etc). For example, "10" is more than "2".

Values:

Values that you test against must be enclosed in double quotes if they contain any spaces. If there are no braces in the value, then it is treated literally. A header name enclosed in braces will be replaced with the value of that header. To embed literal braces, use a backslash character to escape them. For example:

  • "make money" simply stays as "make money"
  • "{to}" may become "janesmith@islandnet.com"
  • "\{to}" becomes "{to}"

You could, for example, check to see if the TO field matches the FROM field like this:

delete if from equals "{to}"


Commands

In addition to actions, your rule file may contain commands that affect the operation of PEP. It is important to remember that commands are activated in the order they appear in the file. For example, any faxes sent prior to an "enable twocolumns" mode will be in single column mode.

Please note that parameters to commands should not be quoted, even if they contain spaces.

Available commands include:

TIMEFRAME timeframe
This command checks to see if the current time (on the Islandnet.com 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 timeframe at all, it is the same as "Al 0000-2359" (ie: any day, any time).

Examples:

timeframe Wk 0900-1700
Monday through Friday, 9:00am to 5:00pm

timeframe MoWeFr 1200-
Monday, Wednesday, and Friday from 12:00 noon until midnight.

timeframe Wk -1200, SaSu -
Monday through Friday any time before noon, and any time on weekends.

DATERANGE date1 date2
This command checks to see if the current date (on the Islandnet.com mail server) falls between the two specified 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. This is useful, for example, if you want to temporarily forward email somewhere while you are away.

You must specify both dates, 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.

For example:

daterange 1998-01-01 1998-06-31
forward if from matches "*" to "My.Friend@aol.com"
daterange
INCLUDE rulefile
Islandnet.com has several global rule files available that have been set up to trap and delete spam. Some of these are quite long. Rather than duplicate the effort of maintaining these rule lists, you can use this command to include one of these global rule files. For more information about the global rule files, including a complete listing of their contents, visit the Global Rules Page.

For example: include common

MAXPAGELENGTH number
Different pagers and digital phones have different limitations on the length of a message that can be received. By default, PEP truncates any pager messages to 128 characters. Use this command to specify the maximum length that your pager or phone can handle. If PEP attempts to send a message larger than you can accept, the dispatch center may not deliver it to you and PEP has no way of knowing this. The number must be between 1 and 128.

For example: maxpagelength 100

PAGERMESSAGE message
By default, pager messages generated with the "PAGE" action will look like this: "PEP: {from} - {subject}". This command allows you to change the pager message to anything you'd like. Header names enclosed in braces are replaced with the appropriate header value.

For example: pagermessage NEW MAIL: {subject}

NOTIFYTO address
This command allows you to specify an alternate email address to send deletion notification messages to. By default such messages go to the same mailbox that the deleted message would have gone to.

For example: notifyto bob@aol.com

REPLYINTERVAL interval
This command lets you specify the length of time to wait between sending the same reply file to the same recipient. The interval must be specified as a number followed by a single character indicating the time unit (s = seconds, m = minutes, h = hours, d = days, w = weeks). The default interval is one week. This setting only applies when you have enabled "replycache".

For example: replyinterval 10d

ENABLE REPLYCACHE
DISABLE REPLYCACHE
Normally an automatic reply is sent each and every time a matching rule is triggered, even if it's sending the same file to the same recipient. When "replycache" is enabled, PEP remembers the file name, recipient address, and the date/time of each automatic reply. It will only send the same file to the same recipient once within the current reply interval. The default time interval is one week. PEP creates and uses the files "pepcache.dir" and "pepcache.dat" to track which files were sent to which addresses at which times, so don't be alarmed if you notice these in your account.

It is a good idea to enable this if you are setting up an auto-responder for example, to tell people you are away on vacation. This way they can safely send you plenty of mail without getting the same automated reply every time.

REPLYCACHE is disabled by default.

RESET value
This command resets the score to the specified numeric value. If no value is specified, it sets it to zero. See the SCORE action for more details.

ENABLE NOTIFY
DISABLE NOTIFY
These commands enable or disable "notify", which determines whether or not a delete notification is sent to you for messages that trigger a DELETE rule. This does not affect NOTIFY rules, which always send a notification.

NOTIFY is disabled by default.

ENABLE HEADERS
DISABLE HEADERS
These commands enable or disable "headers", which determines whether or not the headers are included when you are sent a delete notification.

HEADERS is enabled by default.

ENABLE KEEPREPLY
DISABLE KEEPREPLY
These commands enable or disable "keepreply", which determines whether or not email messages that trigger a REPLY rule will be kept in your mailbox.

KEEPREPLY is disabled by default.

ENABLE KEEPSAVE
DISABLE KEEPSAVE
These commands enable or disable "keepsave", which determines whether or not email messages that trigger a SAVE rule will be kept in your mailbox.

KEEPSAVE is disabled by default.

ENABLE KEEPPAGE
DISABLE KEEPPAGE
These commands enable or disable "keeppage", which determines whether or not email messages that trigger a PAGE rule will be kept in your mailbox.

KEEPPAGE is enabled by default.

ENABLE KEEPFAX
DISABLE KEEPFAX
These commands enable or disable "keepfax", which determines whether or not email messages that trigger a FAX rule will be kept in your mailbox.

KEEPFAX is enabled by default.

ENABLE TWOCOLUMN
DISABLE TWOCOLUMN
These commands enable or disable "twocolumns", which determines how fax messages will be formatted. In two column mode, one page of output is generated for every four pages of input (it uses a smaller font and prints two columns). This can save a lot of fax paper! If disabled, it outputs one page for every one page of input.

TWOCOLUMN is disabled by default.

ENABLE MULTIMATCH
DISABLE MULTIMATCH
These commands enable or disable "multimatch". PEP normally stops processing your rule file after the first matching rule is found. If multimatch is enabled then it will continue comparing the message against all the rules in your rule file, activating each one that matches.

A message is appended to your mailbox on the first matching rule that would normally "keep" the message. A subsequent matching "delete" rule cannot undo this. Multiple matching "keep" rules will not result in multiple kept copies however. If none of the matching rules keep the message, it is deleted.

MULTIMATCH is disabled by default.

NOTE: multimatch is always turned off during the inclusion of global rule files.

ENABLE LOGGING
DISABLE LOGGING
These commands enable or disable "logging". When logging is enabled, PEP will write a date and time stamped entry into a file in your account whenever a matching rule is triggered. It will also write an entry if it encounters a syntax error in your rule file. By default it writes to a file called "pep.log" in your root directory.

LOGGING is disabled by default.

Be sure to check your log file often and periodically delete it - remember it counts towards the overall amount of disk space you are allowed to use.


Reply Files

Files that are used as automated replies (the REPLY, KEEP, DELETE, and NOTIFY commands can use these) are plain text files, but there are a few things you need to know about them.

First of all, you should include your own email headers in the file. Without headers, the file will still reach the recipient, but there will be no subject, etc. Headers must be the very first thing in the reply file, there can be no blank lines before the headers, and the first blank line marks the end of the header section.

Secondly, you can embed the value of any header by using braces. For example, {to} will be replaced with the value of the TO header, no matter where this appears in the file (or how often).

Here's the beginning of a sample reply file:

From: janesmith@islandnet.com
To: {from}
Subject: Here is the info you requested.

In your messaged dated {date} you requested more
information about ...
You can also use the special value {*} to quote the entire contents, including headers, of the message. It includes standard email "quoting" (it begins each line with a greater-than sign and a space). This is useful in reporting spams, etc. For example:

From: janesmith@islandnet.com
Subject: SPAM FROM/VIA YOUR SITE

The following spam was delivered via your servers.  Please put an end
to it...

---START OF SPAM---

{*}

NOTE: Please do not use this technique as a revenge tactic by auto-responding to spam with large files. Doing so may result in the loss of your account. Remember that every message you reply with consumes Islandnet.com's resources too.


Referencing Header Values

You can reference headers (embed header values) in reply files, test values, and pager messages. In all these cases, a header name enclosed in curly braces is replaced with the value of the header. For example, a reference of "{subject}" will be replaced with the actual contents of the SUBJECT header.

You can restrict the maximum length of such a value by inserting a number before the header name. For example, "{40 subject}" will be replaced with no more than the the first 40 characters of the SUBJECT header contents. This is especially useful in pager messages since most pagers have a limit of approximately 150 characters per message.


The X-PARENTAL-Score Header

Porn spam to children is an ever increasing problem, and this feature is a very effective way to counter it. This feature analyzes a message and scores it based on how appropriate it is for children.

This scoring system takes into account swear words, explicit phrases, known porn domains, and more. The higher the score the less appropriate it is for children.

For this header, our definition of "children" means kids under 13. You can, of course, use this to filter mail for all ages.

If a message's parental score is greater than 100, it is inserted into the message as a "X-PARENTAL-Score:" header, which you can then test with PEP like this:

delete if x-parental-score > 99

Using blacklist databases

There are several databases available that can be used very effectively to block spam. Our mail server tests each incoming message against these databases and adds certain headers when a match is found. You can then use these headers to process the mail according to your preferences.

The RBL (Realtime Blackhole List) lists the IP addresses of mail servers that knowingly support, promote, or facilitate spammers. If you get mail from a site that is listed here it is almost certainly spam. A message that comes from an RBL'd server will have this header:

X-RBL-Warning: (rbl.maps.vix.com) variable text...
The RSS (Relay Spam Stopper) lists the IP addresses of mail servers that are open to third party relaying, the most common method used by spammers to send their junk. The admins of the mail servers on this list are aware that their mail server is broken yet have not taken steps to fix it. Most email that comes from these servers will be spam and will have this header:

X-RBL-Warning: (relays.mail-abuse.org) variable text...
The DUL (Dialup User List) lists the IP addresses of dial-up modem pools. The idea is that no dial-up user should be talking directly to any mail server except their ISP's. If a user is running software that tries to talk directly with our mail server, it is almost certainly specialized spamming software. A message that comes from one of these IP addresses will have this header:

X-RBL-Warning: (dialups.mail-abuse.org) variable text...
ORBS (Open Relay Behavior-modification System) is similar to the RSS but is easier to get into. ORBS will likely catch more spam than the RSS, but it will definitely block more legitimate email as well. Use with caution! A message that comes from one of these servers will have this header:

X-RBL-Warning: (relays.orbs.org) variable text...
The FAD (From Address Deterrent) doesn't list IP numbers like the others. Instead it lists the actual email addresses that have been used recently by spammers. This is, suprisingly, a very effective method of killing spam. So far I've seen no legitimate mail get caught by this and plenty of spam. A message that comes from a known spam address will have this header:

X-FAD-Warning: Sender address matches that of a known spammer.
Please note that we currently implement the DUL list globally. That is, we don't accept connections from known dial-up addresses (except our own obviously). So PEP rules that look for DUL listings have no value at this time. However this may change in the future so it doesn't hurt to have such a rule. We do not globally reject mail based on any of the other blacklists.


How do I control my mailbox quota?

PEP will automatically reject new email messages if your mailbox is larger than a certain quota size. This protects you from so called "mail bombs".

The default quota is 5 megabytes and is suitable for the vast majority of people. Your quota is adjustable though. Some people will need a larger quota, and some will prefer a smaller one.

To change your quota size simply create a plain text file named ".quota" (the dot at the beginning is necessary) in the root directory of your account. This file should contain a single line of text that indicates the maximum size your mailbox can get to before messages bounce.

For example, if the file contains 500k then your quota will be 500 kilobytes, or half a megabyte. If the file contains 10m then your quota will be 10 megabytes. If you omit the "k" or "m" qualifier then the number is assumed to be in bytes.

The minimum quota you can have is 250 kilobytes. if you specify anything smaller than this it will be adjusted up. The maximum quota you can specify is 20 megabytes.

Note that the quota does not limit the size of the messages you can receive. If your mailbox is under your quota and a huge message arrives, it will be delivered to you. It's only after your mailbox exceeds the quota that messages will be rejected.


Examples:

In this section we'll discuss some example scenarios and rule files that handle them.

A basic anti-spam setup where you are content to rely on Islandnet.com's global rule files and nothing else.

include common
include spam1
include spam2
If the message is not addressed to me (Jane Smith) specifically, I don't want to see it. Remember that the first matching rule "wins" and the rest are ignored.

keep if to contains "janesmith@islandnet.com"
delete if to matches "*"
NOTE: The example above is extreme (but very effective). It eliminates a lot of unwanted mail, but can also delete legitimate mail. For example, mailing lists that you subscribe to may not actually list your address in the TO: field.

Many spams pretending to be from AOL or Compuserve use invalid numeric user names, so delete them.

delete if from matches "#@aol.com"
delete if from matches "#@compuserve.com"
If a message has the phrase "nanaimo order" in the subject, send it to our Nanaimo office's fax number. If it has "victoria order" then send it to our Victoria office's fax number. We want to use two column mode to conserve fax paper.

enable twocolumns
fax if subject contains "nanaimo order" to "nanaimo-5551234"
fax if subject contains "victoria order" to "victoria-5559999"
If a message subject starts with the word "URGENT!", send me a pager message.

page if subject starts with "URGENT!" to
"RADIOWORKS-5551234"
Same thing as above, except I only want to be paged if it's between 9:00am and 5:00pm, Monday through Friday.

timeframe Wk 0900-1700
page if subject starts with "URGENT!" to "RADIOWORKS-5551234"
timeframe
I want a different pager message to appear based on different keywords.

pagermessage URGENT EMAIL FROM {from}
page if subject contains "urgent"
pagermessage {subject}
page if subject starts with "page:"
I only expect to get messages from two specific people on AOL, so let's delete everything else from there.

keep if from equals "My.Friend@aol.com"
keep if from equals "My.Other.Friend@aol.com"
delete if from matches "*@aol.com"
My account is for web-only activity, delete any mail that doesn't have "FORM:" at the beginning of the SUBJECT header (ie: my web forms all have subject lines beginning with this, and they are the only valid email I'll accept in this account)

keep if subject starts with "FORM:"
delete if subject matches "*"
I want people to be able to request three different files simply by placing "request file1", "request file2", or "request file3" in the subject.

reply if subject equals "request file1" with "file1.txt"
reply if subject equals "request file2" with "file2.txt"
reply if subject equals "request file3" with "file3.txt"
I'm going away on vacation for a bit, so keep all mail sent to me but reply with a little vacation note. I don't want to send the vacation notice to the same person more than once per week.

enable replycache
replyinterval 7d
keep if from matches "*" with "vacation.txt"
WARNING: If you do this make sure you add specific KEEP rules beforehand such that automatic replies aren't sent to any mailing lists you are on. This can really annoy people and may get you removed from the list.

A particular user on AOL won't stop sending me email, let's just delete all email from him.

delete if from matches "badguy@aol.com"
Any mail with the word "project" in the subject should also go to my partner at AOL.

copy if subject contains "project" to "bob@aol.com"
Anything bigger than 1 megabyte in size should get deleted.

delete if bytes > 1000000
When the TO field matches the FROM field, it's usually spam.

delete if to equals {from}
If the body contains the phrase "to be removed", delete the message.

delete if body contains "to be removed"
I know the domain "spams-r-us.com" is a spam house, so if the message ever passed through their servers delete it.

delete if received contains "spams-r-us.com"
Delete any message that has an empty TO header. That is, the header exists but it is empty.

delete if to equals ""
Delete any message that is missing a TO header completely. Notice the use of the "not" modifier.

delete if not to matches "*"



Fatal error: Call to undefined function: menustart() in /usr/home/admin/www/footer.php on line 184