summaryrefslogtreecommitdiff
path: root/mail/mailscanner/files/patch-docs:man:MailScanner.conf.5.html
diff options
context:
space:
mode:
authorSergey Matveychuk <sem@FreeBSD.org>2004-11-01 20:10:10 +0000
committerSergey Matveychuk <sem@FreeBSD.org>2004-11-01 20:10:10 +0000
commite4c6d980ebb6cb5d0691c17922398b8f8be536c0 (patch)
treebbed37f61f71ce24050917b10a8139613c5ee06d /mail/mailscanner/files/patch-docs:man:MailScanner.conf.5.html
parentUpdate to 1.4 (diff)
- Update to 4.35.9
See ChangeLog for details PR: ports/73386 Submitted by: maintainer
Notes
Notes: svn path=/head/; revision=120605
Diffstat (limited to 'mail/mailscanner/files/patch-docs:man:MailScanner.conf.5.html')
-rw-r--r--mail/mailscanner/files/patch-docs:man:MailScanner.conf.5.html5725
1 files changed, 5674 insertions, 51 deletions
diff --git a/mail/mailscanner/files/patch-docs:man:MailScanner.conf.5.html b/mail/mailscanner/files/patch-docs:man:MailScanner.conf.5.html
index a81ce3985e26..4831d0626ce1 100644
--- a/mail/mailscanner/files/patch-docs:man:MailScanner.conf.5.html
+++ b/mail/mailscanner/files/patch-docs:man:MailScanner.conf.5.html
@@ -1,28 +1,1323 @@
---- ../MailScanner-install-4.34.8.orig/docs/man/MailScanner.conf.5.html Fri Oct 15 16:50:11 2004
-+++ docs/man/MailScanner.conf.5.html Fri Oct 15 16:50:32 2004
+--- ../MailScanner-install-4.35.9.orig/docs/man/MailScanner.conf.5.html Mon Nov 1 18:03:10 2004
++++ docs/man/MailScanner.conf.5.html Mon Nov 1 18:03:33 2004
@@ -1,5 +1,5 @@
<!-- Creator : groff version 1.19 -->
--<!-- CreationDate: Wed Jul 28 13:28:02 2004 -->
-+<!-- CreationDate: Fri Oct 15 16:49:48 2004 -->
+-<!-- CreationDate: Fri Oct 22 08:13:20 2004 -->
++<!-- CreationDate: Mon Nov 1 18:00:15 2004 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
-@@ -1389,8 +1389,9 @@
- kaspersky&minus;4.5, kavdaemonclient, inoculate, inoculan,
- nod32, nod32&minus;1.99, f&minus;secure, f&minus;prot,
- panda, rav, antivir, clamav, clamavmodule, css, trend,
--norman, avg, vexira, none (no virus scanning at all). This
--*cannot* be the filename of a ruleset.</p>
+@@ -397,4 +397,5740 @@
+ <td width="3%"></td>
+ <td width="72%">
+
+-<p>the name of a fi@
+\ No newline at end of file
++<p>the name of a file containing a list of directory names,
++which can in turn contain wildcards.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="28%"></td>
++<td width="72%">
++<p>Example:
++/usr/local/etc/MailScanner/mqueue.in.list.conf</p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Outgoing Queue Dir</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: /var/spool/mqueue</p>
++<!-- INDENTATION -->
++<p>Directory in which MailScanner should place scanned
++e&minus;mail messages. This can also be the filename of a
++ruleset.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Incoming work dir</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: /opt/MailScanner/var/incoming<br>
++Default FreeBSD: /var/spool/MailScanner/incoming</p>
++<!-- INDENTATION -->
++<p>Directory in which to temporarily store unpacked MIME
++messages during scanning process.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Quarantine Dir</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: /opt/MailScanner/var/quarantine<br>
++Default FreeBSD: /var/spool/MailScanner/quarantine</p>
++<!-- INDENTATION -->
++<p>Set where to store infected messages and attachments (if
++they are kept). This can also be the filename of a
++ruleset.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>PID file</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: /opt/MailScanner/var/MailScanner.pid<br>
++Default FreeBSD: /var/run/MailScanner.pid</p>
++<!-- INDENTATION -->
++<p>Set where to store the process id number so you can stop
++MailScanner. In the FreeBSD port this should remain
++/var/run/MailScanner.pid in order for the start/stop script
++to work.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Restart Every</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 14400</p>
++<!-- INDENTATION -->
++<p>To avoid resource leaks the MailScanner parent process
++stops and restarts its child processes from time to time.
++Set the amount of seconds each child process is supposed to
++live here.</p>
++</td>
++</table>
++<!-- TABS -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="5" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="4%">
++
++<p><b>MTA</b></p>
++</td>
++<td width="7%"></td>
++<td width="26%">
++
++<p>Default: sendmail</p>
++</td>
++<td width="52%">
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>MailScanner works with sendmail and exim. Since the queue
++handling differs a bit, you have to tell MailScanner which
++MTA you are using. Valid options are sendmail and exim.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Sendmail</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: /usr/lib/sendmail<br>
++Default FreeBSD: /usr/sbin/sendmail</p>
++<!-- INDENTATION -->
++<p>Set how to invoke MTA when sending messages MailScanner
++has created (e.g. to sender/recipient saying &quot;found a
++virus in your message&quot;). This can also be the filename
++of a ruleset.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Sendmail2</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: same value as the Sendmail setting</p>
++<!-- INDENTATION -->
++<p>Sendmail2 is provided for exim users. It is the command
++used to attempt delivery of outgoing cleaned/disinfected
++messages. This is not usually required for sendmail.<br>
++For Exim users this could be: Sendmail2 = /usr/sbin/exim
++&minus;C /usr/local/etc/exim/configure.out</p>
++</td>
++</table>
++<a name="Incoming Work Dir Settings"></a>
++<h2>Incoming Work Dir Settings</h2>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p>You should not normally need to touch these settings at
++all, unless you are using ClamAV and need to be able to use
++the external archive unpackers instead of ClamAV&rsquo;s
++built&minus;in ones.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Incoming Work User</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default:</p>
++<!-- INDENTATION -->
++<p>If you want to create the temporary working files so they
++are owned by a user other than the &quot;Run As User&quot;
++setting, you can change that here. Note: If the &quot;Run As
++User&quot; is not &quot;root&quot; then you cannot change
++the user but may still be able to change the group, if the
++&quot;Run As User&quot; is a member of both of the groups
++&quot;Run As Group&quot; and &quot;Incoming Work
++Group&quot;.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Incoming Work Group</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default:</p>
++<!-- INDENTATION -->
++<p>If you want to create the temporary working files so they
++are owned by a group other than the &quot;Run As User&quot;
++setting, you can change that here. Note: If the &quot;Run As
++User&quot; is not &quot;root&quot; then you cannot change
++the user but may still be able to change the group, if the
++&quot;Run As User&quot; is a member of both of the groups
++&quot;Run As Group&quot; and &quot;Incoming Work
++Group&quot;.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Incoming Work Permissions</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 0600</p>
++<!-- INDENTATION -->
++<p>If you want processes running under the same *group* as
++MailScanner to be able to read the working files (and list
++what is in the directories, of course), set to 0640. If you
++want *all* other users to be able to read them, set to 0644.
++For a detailed description, if you&rsquo;re not already
++familiar with it, refer to &lsquo;man 2 chmod&lsquo;.
++Typical use: external helper programs of virus scanners
++(notably ClamAV), like unpackers. Use with care, you may
++well open security holes.</p>
++</td>
++</table>
++<a name="Quarantine and Archive Settings"></a>
++<h2>Quarantine and Archive Settings</h2>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p>If, for example, you are using a web interface so that
++users can manage their quarantined files, you might want to
++change the ownership and permissions of the quarantined so
++that they can be read and/or deleted by the web server.
++Don&rsquo;t touch this unless you know what you are
++doing!</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Quarantine User</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default:</p>
++<!-- INDENTATION -->
++<p>If you want to create the quarantine/archive so the files
++are owned by a user other than the &quot;Run As User&quot;
++setting at the top of this file, you can change that here.
++Note: If the &quot;Run As User&quot; is not &quot;root&quot;
++then you cannot change the user but may still be able to
++change the group, if the &quot;Run As User&quot; is a member
++of both of the groups &quot;Run As Group&quot; and
++&quot;Quarantine Group&quot;.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Quarantine Group</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default:</p>
++<!-- INDENTATION -->
++<p>If you want to create the quarantine/archive so the files
++are owned by a user other than the &quot;Run As User&quot;
++setting at the top of this file, you can change that here.
++Note: If the &quot;Run As User&quot; is not &quot;root&quot;
++then you cannot change the user but may still be able to
++change the group, if the &quot;Run As User&quot; is a member
++of both of the groups &quot;Run As Group&quot; and
++&quot;Quarantine Group&quot;.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Quarantine Permissions</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 0600</p>
++<!-- INDENTATION -->
++<p>If you want processes running under the same *group* as
++MailScanner to be able to read the quarantined files (and
++list what is in the directories, of course), set to 0640. If
++you want *all* other users to be able to read them, set to
++0644. For a detailed description, if you&rsquo;re not
++already familiar with it, refer to &lsquo;man 2
++chmod&lsquo;. Typical use: let the webserver have access to
++the files so users can download them if they really want to.
++Use with care, you may well open security holes.</p>
++</td>
++</table>
++<a name="Process Incoming Mail"></a>
++<h2>Process Incoming Mail</h2>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Max Unscanned Bytes Per Scan</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 100000000</p>
++<!-- INDENTATION -->
++<p>MailScanner handles messages in batches for efficiency.
++Messages are gathered (in strict date order) from the
++incoming queue directory, one at a time, until this or one
++of the following three limits is reached or the queue is
++empty.</p>
++<!-- INDENTATION -->
++<p>This setting limits the total size of messages per batch
++for which no scanning is done (i.e. Virus Scanning =
++no).</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Max Unsafe Bytes per Scan</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 50000000</p>
++<!-- INDENTATION -->
++<p>This setting limits the total size of messages per batch
++for which scanning is done (i.e. Virus Scanning = yes).</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Max Unscanned Messages Per Scan</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 100</p>
++<!-- INDENTATION -->
++<p>This setting limits the total number of messages per
++batch for which no scanning is done (i.e. Virus Scanning =
++no).</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Max Unsafe Messages per Scan</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 100</p>
++<!-- INDENTATION -->
++<p>This setting limits the total number of messages per
++batch for which scanning is done (i.e. Virus Scanning =
++yes).</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Max Normal Queue Size</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 1000</p>
++<!-- INDENTATION -->
++<p>If more messages are found in the queue than this, then
++switch to an &quot;accelerated&quot; mode of processing
++messages. This will cause it to stop scanning messages in
++strict date order, but in the order it finds them in the
++queue. If your queue is bigger than this size a lot of the
++time, then some messages could be greatly delayed. So treat
++this option as &quot;in emergency only&quot;.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Maximum Attachments Per Message</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 200</p>
++<!-- INDENTATION -->
++<p>The maximum number of attachments allowed in a message
++before it is considered to be an error. Some email systems,
++if bouncing a message between 2 addresses repeatedly, add
++information about each bounce as an attachment, creating a
++message with thousands of attachments in just a few minutes.
++This can slow down or even stop MailScanner as it uses all
++available memory to unpack these thousands of attachments.
++This can also be the filename of a ruleset.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Expand TNEF</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>TNEF is primarily used by Microsoft programs such as
++Outlook and Outlook Express when mails are formatted/sent in
++Rich&minus;Text&minus;Format. Attachments are all put
++together in one WINMAIL.DAT file.</p>
++<!-- INDENTATION -->
++<p>Should we use a TNEF decoder (external or Perl module)?
++This should be &quot;yes&quot; unless the scanner you are
++using (Sophos, McAfee) has the facility built&minus;in.
++However, if you set it to &quot;no&quot;, then the filenames
++within the TNEF attachment will not be checked against the
++filename rules.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Deliver Unparsable TNEF</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>Rich Text format attachments produced by some versions of
++Microsoft Outlook cannot be completely decoded at present.
++Setting this option to yes allows compatibility with the
++behaviour of earlier versions where these attachments were
++still delivered. This would introduce the slight chance of a
++virus getting through in the segment of the attachment that
++could not be decoded, but the setting may be necessary if
++you have a large number of Microsoft Outlook users who are
++troubled by the new behaviour.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>TNEF Expander</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: /opt/MailScanner/bin/tnef<br>
++Default FreeBSD: /usr/local/bin/tnef</p>
++<!-- INDENTATION -->
++<p>Full pathname giving location of the MS&minus;TNEF
++expander/decoder program, or the keyword internal which will
++force use of the optional Perl Convert::TNEF module instead
++of the external program.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>TNEF Timeout</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 120</p>
++<!-- INDENTATION -->
++<p>The maximum length of time (in seconds) the TNEF Expander
++is allowed to run for diassembling one attachment.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>File Command</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: /usr/bin/file</p>
++<!-- INDENTATION -->
++<p>Where the &quot;file&quot; command is installed. This is
++used for checking the content type of files, regardless of
++their filename. To disable Filetype checking, set this value
++to blank.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>File Timeout</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 20</p>
++<!-- INDENTATION -->
++<p>The maximum length of time the &quot;file&quot; command
++is allowed to run for one batch of messages (in
++seconds).</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Block Encrypted Messages</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>This is inteded for use with a ruleset to ensure that
++none of your users is covertly mailing sites with which you
++would not normally communicate (e.g. your competitors). If
++this is set to yes (or the ruleset evaluates to yes)
++encrypted messages are blocked.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Block Unencrypted Messages</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>This is intended for use with a ruleset to ensure that
++mail is always encrypted before being sent. This could be
++used to ensure that mail to your business partners is sent
++securely.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Allow Password&minus;Protected Archives</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>Should archives which contain any
++password&minus;protected files be allowed? Leaving this set
++to &quot;no&quot; is a good way of protecting against all
++the protected zip files used by viruses at the moment. This
++can also be the filename of a ruleset.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Maximum Message Size</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 0</p>
++<!-- INDENTATION -->
++<p>The maximum size, in bytes, of any message including the
++headers. If this is set to zero, then no size checking is
++done. This can also be the filename of a ruleset, so you can
++have different settings for different users. You might want
++to set this quite small for dialup users so their email
++applications don&rsquo;t time out downloading huge
++messages.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Maximum Attachment Size</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: &minus;1</p>
++<!-- INDENTATION -->
++<p>The maximum size, in bytes, of any attachment in a
++message. If this is set to zero, effectively no attachments
++are allowed. If this is set less than zero, then no size
++checking is done. This can also be the filename of a
++ruleset, so you can have different settings for different
++users. You might want to set this quite small for large
++mailing lists so they don&rsquo;t get deluged by large
++attachments.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Maximum Archive Depth</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 3</p>
++<!-- INDENTATION -->
++<p>The maximum depth to which zip archives will be unpacked
++to allow for checking filenames and filetypes within zip
++archives. Setting this to 0 will disable
++filename/&minus;type checks within zip files while still
++allowing to block password protected zip files.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Find Archives By Content</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>Find zip archives by filename or by file contents?
++Finding them by content is a far more reliable way of
++finding them, but it does mean that you cannot tell your
++users to avoid zip file checking by renaming the file from
++&quot;.zip&quot; to &quot;_zip&quot; and tricks like that.
++Only set this to no (i.e. check by filename only) if you
++don&rsquo;t want to reliably check the contents of zip
++files. Note this does not affect virus checking, but it will
++affect all the other checks done on the contents of the zip
++file. This can also be the filename of a ruleset.</p>
++</td>
++</table>
++<a name="Options specific to Sophos Anti-Virus"></a>
++<h2>Options specific to Sophos Anti-Virus</h2>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Allowed Sophos Error Messages</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default:</p>
++<!-- INDENTATION -->
++<p>Anything on the next line that appears in brackets at the
++end of a line of output from Sophos will cause the
++error/infection to be ignored. Use of this option is
++dangerous, and should only be used if you are having trouble
++with lots of corrupt PDF files, for example. This option
++allows for multiple strings as well. In this case, the
++strings should be put in double quotes (&quot;) and each
++string separated with commas. Examples:<br>
++Allowed Sophos Error Messages = corrupt format not
++supported<br>
++Allowed Sophos Error Messages = &quot;corrupt&quot;,
++&quot;format not supported&quot;</p>
++<!-- INDENTATION -->
++<p>The first version will match &quot;corrupt format not
++supported&quot; only. The second version will match
++&quot;corrupt&quot; and &quot;format not
++supported&quot;.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Sophos IDE Dir</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: /usr/local/Sophos/ide</p>
++<!-- INDENTATION -->
++<p>The directory (or a link to it) containing all the Sophos
++*.ide files. This is only used by the &quot;sophossavi&quot;
++virus scanner, and is irrelevant for all other scanners.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Sophos Lib Dir</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: /usr/local/Sophos/lib</p>
++<!-- INDENTATION -->
++<p>The directory (or a link to it) containing all the Sophos
++*.so libraries.This is only used by the
++&quot;sophossavi&quot; virus scanner, and is irrelevant for
++all other scanners.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Monitors For Sophos Updates</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: /usr/local/Sophos/ide/*ides.zip</p>
++<!-- INDENTATION -->
++<p>SophosSAVI only: monitor each of these files for changes
++in size to detect when a Sophos update has happened. The
++date of the Sophos Lib Dir is also monitored. This is only
++used by the &quot;sophossavi&quot; virus scanner, not the
++&quot;sophos&quot; scanner setting.</p>
++</td>
++</table>
++<a name="Virus scanning and vulnerability testing"></a>
++<h2>Virus scanning and vulnerability testing</h2>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Virus Scanning</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>Do you want to scan email for viruses? A few people
++don&rsquo;t have virus scanner licence and so want to
++disable all the virus scanning.<br>
++NOTE: Switching this to no completely disables all
++virus&minus;scanning functionality. If you just want to
++switch of actual virus scanning, then set &quot;Virus
++Scanners = none&quot; instead.<br>
++If you want to be able to switch scanning on/off for
++different users or different domains, set this to the
++filename of a ruleset.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Virus Scanners</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: none</p>
++<!-- INDENTATION -->
++<p>Which Virus Scanning package to use. Possible choices are
++sophos, sophossavi, mcafee, command, bitdefender, kaspersky,
++kaspersky&minus;4.5, kavdaemonclient, inoculate, inoculan,
++nod32, nod32&minus;1.99, f&minus;secure, f&minus;prot,
++panda, rav, antivir, clamav, clamavmodule, css, trend,
+norman, avg, vexira, symscanengine, generic, none (no virus
+scanning at all). This *cannot* be the filename of a
+ruleset.</p>
- <!-- INDENTATION -->
- <p>Note for McAfee users: Do NOT use any symlinks with
- McAfee at all. It is very strange but McAfee may not detect
-@@ -1701,6 +1702,39 @@
- <tr valign="top" align="left">
- <td width="11%"></td>
- <td width="89%">
++<!-- INDENTATION -->
++<p>Note for McAfee users: Do NOT use any symlinks with
++McAfee at all. It is very strange but McAfee may not detect
++all viruses when started from a symlink or scanning a
++directory path including symlinks.</p>
++<!-- INDENTATION -->
++<p>Note: If you want to use multiple virus scanners, then
++this should be a space&minus;separated list of virus
++scanners.</p>
++<!-- INDENTATION -->
++<p>Note: Make sure that you check that the base installation
++directory in the 3rd column of virus.scanners.conf matches
++the location you have installed each of your virus scanners.
++The supplied virus.scanners.conf file assumes the default
++installation locations recommended by each of the virus
++scanner installation guides.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Virus Scanner Timeout</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 300</p>
++<!-- INDENTATION -->
++<p>The maximum time (in seconds) that the cirus scanner is
++allowed to take to scan one batch of messages.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Deliver Disinfected Files</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>Should infected attached documents be automatically
++disinfected and sent on to the original recipients? Less
++than 1% of viruses in the wild can be successfully
++disinfected,as macro viruses are now a rare occurrence. So
++the default has been changed to &quot;no&quot; as it gives a
++significant performance improvement.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Silent Viruses</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: HTML&minus;IFrame All&minus;Viruses</p>
++<!-- INDENTATION -->
++<p>Messages whose virus reports contain any of the words
++listed here will be treated as &quot;silent&quot; viruses.
++No messages will be sent back to the senders of these
++viruses, and the delivery to the recipient of the message
++can be controlled by the next option &quot;Still Deliver
++Silent Viruses&quot;. This is primarily designed for viruses
++such as &quot;Klez&quot; and &quot;Bugbear&quot; which put
++fake addresses on messages they send, so there is no point
++informing the sender of the message, as it won&rsquo;t
++actually be them who sent it anyway. Other words that can be
++put in this list are the 5 special keywords</p>
++</td>
++</table>
++<!-- TABS -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="4" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>HTML&minus;IFrame: inserting this will stop senders
++being warned about HTML Iframe tags, when they are not
++allowed.</p>
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>HTML&minus;Codebase: inserting this will stop senders
++being warned about HTML Object Codebase tags, when they are
++not allowed.</p>
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>Zip&minus;Password: inserting this will stop senders
++being warned about password&minus;protected zip files when
++they are not allowd. This keyword is not needed if you
++include All&minus;Viruses.</p>
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>All&minus;Viruses: inserting this will stop senders
++being warned about any virus, while still allowing you to
++warn senders about HTML&minus;based attacks. This includes
++Zip&minus;Password so you don&rsquo;t need to include
++both.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="28%"></td>
++<td width="72%">
++<p>The default of &quot;All&minus;Viruses&quot; means that
++no senders of viruses will be notified (as the sender
++address is always forged these days anyway), but anyone who
++sends a message that is blocked for other reasons will still
++be notified.</p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Still Deliver Silent Viruses</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>If this is set to yes then disinfected messsages that
++originally contained one of the &quot;silent&quot; viruses
++will still be delivered to the original recipients, even
++those addresses were chosen at random by the infected PC and
++do not correspond to anything a user intended to send. Set
++this to yes so that your users (and your management)
++appreciate how much MailScanner is doing to protect them,
++but set it to no if they complain a lot about receiving lots
++of virus warnings.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Non&minus;Forging Viruses</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: Joke/ OF97/ WM97/ W97M/</p>
++<!-- INDENTATION -->
++<p>Strings listed here will be searched for in the output of
++the virus scanners. It works to achieve the opposite effect
++of the &quot;Silent Viruses&quot; listed above. If a string
++here is found in the output of the virus scanners, then the
++message will be treated as if it were not infected with a
++&quot;Silent Virus&quot;. If a message is detected as both a
++silent virus and a non&minus;forging virus, then the
++non&minus;forging status will override the silent status. In
++simple terms, you should list virus names (or parts of them)
++that you know do *not* forge the From address. A good
++example of this is a document macro virus or a Joke program.
++Another word that can be put in this list is the special
++keyword &quot;Zip&minus;.Password&quot;. Inserting this will
++cause senders to be warned about password&minus;protected
++zip files, whey they are not allowed.</p>
++</td>
++</table>
++<a name="Options specific to ClamAV Anti-Virus"></a>
++<h2>Options specific to ClamAV Anti-Virus</h2>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Monitors for ClamAV Updates</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: /usr/local/share/clamav/*.cvd</p>
++<!-- INDENTATION -->
++<p>ClamAVModule only: monitor each of these files for
++changes in size to detect when a ClamAV update has happened.
++This is only used by the &quot;clamavmodule&quot; virus
++scanner, not the &quot;clamav&quot; scanner setting.</p>
++</td>
++</table>
++<a name="Removing/Logging dangerous or potentially offensive content"></a>
++<h2>Removing/Logging dangerous or potentially offensive content</h2>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Allow Partial Messages</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>Do you want to allow partial messages, which only contain
++a fraction of the attachments, not the whole thing? There is
++no way that &quot;partial messages&quot; can be scanned for
++viruses properly, as only a fragment of the message is ever
++processed, never the whole message at once.<br>
++Setting this option to yes is <b>very dangerous</b> as it
++can let viruses in. But you might want to use a ruleset to
++set it for some customers&rsquo; outgoing mail, for
++example.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Allow External Message Bodies</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>There is a mechanism, very rarely used, in which the body
++of a message is contained on a remote server, which the
++user&rsquo;s email application should download when it
++displays the message. Currently, I am only aware of this
++feature being supported by a few versions of Netscape, and
++the only people who use it are the IETF. There is no way to
++guarantee that the fetched file has no viruses in it, as
++MailScanner never sees it.<br>
++Setting this option to yes is <b>very dangerous</b> as it
++can let viruses in from remote &quot;message body
++servers&quot;.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
+<p><b>Find Phishing Fraud</b></p></td>
+</table>
+<!-- INDENTATION -->
@@ -56,13 +1351,1491 @@
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="89%">
- <p><b>Allow IFrame Tags</b></p></td>
- </table>
- <!-- INDENTATION -->
-@@ -3186,6 +3220,32 @@
- <tr valign="top" align="left">
- <td width="11%"></td>
- <td width="89%">
++<p><b>Allow IFrame Tags</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>Do you want to allow HTML &lt;IFrame&gt; tags in email
++messages? This is not a good idea as it allows various
++Microsoft Outlook security vulnerabilities to go
++unprotected, but if you have a load of mailing lists sending
++them, then you will want to allow them to keep your users
++happy. This can also be the filename of a ruleset, so you
++can allow them from known mailing lists but ban them from
++everywhere else. Possible Values:</p>
++</td>
++</table>
++<!-- TABS -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="4" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>yes =&gt; Allow these tags to be in the message</p>
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>no =&gt; Ban messages containing these tags</p>
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>disarm =&gt; Allow these tags, but stop these tags from
++working</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Log IFrame Tags</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="28%"></td>
++<td width="72%">
++<p>You may receive complaints from your users that HTML
++mailing lists they subscribe to have been stopped by the
++&quot;Allow IFrame Tags&quot; option above. So before you
++use the option above, set this option to &quot;yes&quot; and
++MailScanner will log the senders all messages which contain
++IFrame tags. You can then setup a ruleset for the option
++above which will allow IFrame tags in messages sent by well
++known (and trusted) mailing lists, while banning them from
++everywhere else.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Allow Form Tags</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: disarm</p>
++<!-- INDENTATION -->
++<p>Do you want to allow &lt;Form&gt; tags in email messages?
++This is a bad idea as these are used as scams to persuade
++people to part with credit card information and other
++personal data. This can also be the filename of a ruleset.
++Possible values:</p>
++</td>
++</table>
++<!-- TABS -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="4" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>yes =&gt; Allow these tags to be in the message</p>
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>no =&gt; Ban messages containing these tags</p>
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>disarm =&gt; Allow these tags, but stop these tags from
++working</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Allow Script Tags</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="28%"></td>
++<td width="72%">
++<p>Do you want to allow &lt;Script&gt; tags in email
++messages? This is a bad idea as these are used to exploit
++vulnerabilities in email applications and web browsers. This
++can also be the filename of a ruleset. Possible
++values:</p></td>
++</table>
++<!-- TABS -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="4" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>yes =&gt; Allow these tags to be in the message</p>
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>no =&gt; Ban messages containing these tags</p>
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>disarm =&gt; Allow these tags, but stop these tags from
++working</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Allow WebBugs</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: disarm</p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="28%"></td>
++<td width="72%">
++<p>Do you want to allow &lt;Img&gt; tags with very small
++images in email messages? This is a bad idea as these are
++used as &rsquo;web bugs&rsquo; to find out if a message has
++been read. It is not dangerous, it is just used to make you
++give away information. This can also be the filename of a
++ruleset. Possible values:</p></td>
++</table>
++<!-- TABS -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="4" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>yes =&gt; Allow these tags to be in the message</p>
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>no =&gt; Ban messages containing these tags</p>
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>disarm =&gt; Allow these tags, but stop these tags from
++working</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Allow Object Codebase Tags</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="28%"></td>
++<td width="72%">
++<p>Do you want to allow &lt;Object Codebase=...&gt; tags in
++email messages? This is a bad idea as it leaves you
++unprotected against various Microsoft&minus;specific
++security vulnerabilities. But if your users demand it, you
++can do it. This can also be the filename of a ruleset.
++Possible values:</p></td>
++</table>
++<!-- TABS -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="4" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>yes =&gt; Allow these tags to be in the message</p>
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>no =&gt; Ban messages containing these tags</p>
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>disarm =&gt; Allow these tags, but stop these tags from
++working</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Convert Dangerous HTML To Text</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="28%"></td>
++<td width="72%">
++<p>This option interacts with the &quot;Allow ... Tags&quot;
++options above like this:</p>
++<!-- INDENTATION -->
++<p>Allow...Tags Convert Danger... Action<br>
++============ =================
++============================<br>
++no no Blocked<br>
++no yes Blocked<br>
++disarm no Specified HTML tags disarmed<br>
++disarm yes Specified HTML tags disarmed<br>
++yes no Nothing<br>
++yes yes All HTML tags stripped</p>
++<!-- INDENTATION -->
++<p>If an &quot;Allow ... Tags = yes&quot; is triggered by a
++message, and this &quot;Convert Dangerous HTML To Text&quot;
++is set to &quot;yes&quot;, then the HTML message will be
++converted to plain text. This makes the HTML harmless, while
++still allowing your users to see the text content of the
++messages. Note that all graphical content will be
++removed.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Convert HTML To Text</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>If you have users who are children, or who are offended
++by things like pornographic spam email, you can protect them
++by converting incoming HTML email messages into plain text.
++HTML attachments will not be affected. You could set this to
++be a ruleset so you only convert messages addressed to some
++of your users, or not convert messages from some known
++trusted sources. This can be essential if you have a
++&quot;duty of care&quot; for some of your users.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Allow Form Tags</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>Do you want to allow &lt;Form&gt; tags in email messages?
++This is a bad idea as these are used as scams to pursuade
++people to part with credit card information and other
++personal data. This can also be the filename of a
++ruleset.</p>
++</td>
++</table>
++<a name="Attachment filename checking"></a>
++<h2>Attachment filename checking</h2>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Filename Rules</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: %etc&minus;dir%/filename.rules.conf</p>
++<!-- INDENTATION -->
++<p>File in which to store the attachment filename ruleset.
++This can be a ruleset allowing different filename rules to
++apply to different users or domains. The syntax of this file
++is described in section &quot;Attachment Filename
++Ruleset&quot;.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Filetype Rules</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: %etc&minus;dir%/filetype.rules.conf</p>
++<!-- INDENTATION -->
++<p>Set where to find the attachment filetype ruleset. The
++structure of this file is explained elsewhere, but it is
++used to accept or reject file attachments based on their
++content as determined by the &quot;file&quot; command,
++regardless of whether they are infected or not. This can
++also point to a ruleset, but the ruleset filename must end
++in &quot;.rules&quot; so that MailScanner can determine if
++the filename given a ruleset or not!</p>
++</td>
++</table>
++<a name="Reports and responses"></a>
++<h2>Reports and responses</h2>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Quarantine Infections</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>Set this to store infected / dangerous attachments in
++directories created under the quarantine directory. Without
++this, they will be deleted. Due to laws on privacy and data
++protection in your country, you may be forced to set this to
++&quot;no&quot;.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Quarantine Silent Viruses</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>There is no point quarantining most viruses these days,
++so if you set this to &quot;no&quot; then no infections
++listed in your &quot;Silent Viruses&quot; setting will be
++quarantined, even if you have chosen to quarantine
++infections in general. This is currently set to
++&quot;yes&quot; so the behaviour is the same as it was in in
++previous versions. This can also be the filename of a
++ruleset.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Quarantine Whole Message</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>When an infected message is stored in the quarantine, a
++copy of the entire message will be saved, in addition to
++copies of the infected attachments.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Quarantine Whole Messages As Queue Files</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>When an entire message is saved in the quarantine for any
++reason, do you want to save it as the raw data files out of
++the mail queue (which can be processed with the df2mbox
++script, and which is easier to send to its original
++recipients), or do you want a conventional message file
++consisting of the header followed by the body of the
++message. If the previous option is switched off, then this
++will only affect archived mail and quarantined spam. If the
++previous option is on, then this also affects quarantined
++infections.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Language Strings</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: %reports&minus;dir%/languages.conf</p>
++<!-- INDENTATION -->
++<p>Set where to find all the strings used so they can be
++translated into your local language. This can also be the
++filename of a ruleset so you can produce different languages
++for different messages.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Deleted Bad Filename Message Report</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default:
++%reports&minus;dir%/deleted.filename.message.txt</p>
++<!-- INDENTATION -->
++<p>When an attachment is deleted from a message because the
++filename failed the filename rules in force for the message,
++it is replaced by the contents of this file. A few variable
++substitutions can be made in this file, an example of each
++of which is contained in the supplied sample file.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Deleted Virus Message Report</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default:
++%reports&minus;dir%/deleted.virus.message.txt</p>
++<!-- INDENTATION -->
++<p>When an attachment is deleted from a message because the
++attachment contained a virus or other dangerous content, it
++is replaced by the contents of this file. A few variable
++substitutions can be made in this file, an example of each
++of which is contained in the supplied sample file.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Stored Bad Filename Message Report</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default:
++%reports&minus;dir%/stored.filename.message.txt</p>
++<!-- INDENTATION -->
++<p>When an attachment is deleted and stored from a message
++(and the attachment has been stored in the quarantine)
++because the filename failed the filename rules in force for
++the message, it is replaced by the contents of this file. A
++few variable substitutions can be made in this file, an
++example of each of which is contained in the supplied sample
++file.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Deleted Bad Content Message Report</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default:
++/%reports&minus;dir%/deleted.content.message.txt</p>
++<!-- INDENTATION -->
++<p>This report is sent when a message is deleted because it
++contained bad or dangerous content. A few variable
++substitutions can be made in this file, an example of each
++of which is contained in the supplied sample file.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Stored Bad Content Message Report</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default:
++%reports&minus;dir%/stored.content.message.txt</p>
++<!-- INDENTATION -->
++<p>This report is sent when a message is stored because it
++contained bad or dangerous content. A few variable
++substitutions can be made in this file, an example of each
++of which is contained in the supplied sample file.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Disinfected Report</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: %reports&minus;dir%/disinfected.report.txt</p>
++<!-- INDENTATION -->
++<p>When, for example, a Microsoft Word macro virus has been
++safely removed from a document, leaving the original
++document intact, it is delivered on to the original
++recipient. The contents of this text file will be put in the
++body of the new message, explaining to the user what has
++happened.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Inline HTML Signature</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: %reports&minus;dir%/inline.sig.html</p>
++<!-- INDENTATION -->
++<p>If the &quot;Sign Clean Messages&quot; option is set,
++then the contents of this file will be appended to the end
++of the body of every message that is scanned by MailScanner.
++You can use this to inform your users that MailScanner has
++scanned it, and you can also add any disclaimers you feel
++should be on mail travelling through your servers. This
++option corresponds to the contents that is appended to HTML
++messages.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Inline Text Signature</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: %reports&minus;dir%/inline.sig.txt</p>
++<!-- INDENTATION -->
++<p>If the &quot;Sign Clean Messages&quot; option is set,
++then the contents of this file will be appended to the end
++of the body of every message that is scanned by MailScanner.
++You can use this to inform your users that MailScanner has
++scanned it, and you can also add any disclaimers you feel
++should be on mail travelling through your servers. This
++option corresponds to the contents that is appended to text
++messages.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Sender Error Report</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: %reports&minus;dir%/sender.error.report.txt</p>
++<!-- INDENTATION -->
++<p>When a message could not be processed completely for some
++reason, such as bad message structure or unreadable
++winmail.dat TNEF attachments, this message is sent back to
++the sender. Read the example file supplied for a
++demonstration of what variables can be used inside the
++file.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Sender Bad Filename Report</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default:
++%reports&minus;dir%/sender.filename.report.txt</p>
++<!-- INDENTATION -->
++<p>When an attachment is trapped by the filename rules, this
++message is sent back to the sender.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Sender Virus Report</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: %reports&minus;dir%/sender.virus.report.txt</p>
++<!-- INDENTATION -->
++<p>When an attachment is removed because of a virus, this
++message is sent back to the sender.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Hide Incoming Work Dir</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>When this option is set, the full directory in which the
++virus was found will be removed from report messages sent to
++users. This makes the infection reports a lot easier to
++understand.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Include Scanner Name in Reports</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>Include the name of the virus scanner in each of the
++scanner reports. This also includes the translation of
++&quot;MailScanner&quot; in each of the report lines
++resulting from one of MailScanner&rsquo;s own checks such as
++filename, filetype or dangerous HTML content. To change the
++name &quot;MailScanner&quot;, look in
++reports/...../languages.conf.<br>
++Very useful if you use several virus scanners, but a bad
++idea if you don&rsquo;t want to let your customers know
++which scanners you use.</p>
++</td>
++</table>
++<a name="Changes to message headers"></a>
++<h2>Changes to message headers</h2>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Mail Header</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: X&minus;MailScanner:</p>
++<!-- INDENTATION -->
++<p>Extra header that should be added to all scanned messages
++to show they have been scanned. You might want to add an
++abbreviation of your site name to this, so that you can find
++headers that are added by your MailScanner server.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Spam Header</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: X&minus;MailScanner&minus;SpamCheck:</p>
++<!-- INDENTATION -->
++<p>Name of the header to add to mail detected as spam. The
++text of the header is a list of the causes that think the
++message is spam.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Spam Score Header</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: X&minus;MailScanner&minus;SpamScore:</p>
++<!-- INDENTATION -->
++<p>If the option &quot;Spam Score&quot; is set, this is the
++name of the header that is used to contain the list of
++characters.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Information Header</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: X&minus;MailScanner&minus;Information:</p>
++<!-- INDENTATION -->
++<p>Name of the header to add to all messages, to be used for
++simply providing a URL or contact information for anyone
++receiving mail that has gone through MailScanner. If you do
++not want this header, simply set it blank.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Add Envelope From Header</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>Do you want to add the Envelope&minus;From: header? This
++is very useful for tracking where spam came from as it
++contains the envelope sender address. This can also be the
++filename of a ruleset.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Add Envelope To Header</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>Do you want to add the Envelope&minus;To: header? This
++can be useful for tracking span destinations, but should be
++used with care due to possible privacy concerns with the use
++of Bcc: headers by users. This can also be the filename of a
++ruleset.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Evelope From Header</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default:
++X&minus;%org&minus;name%&minus;MailScanner&minus;From:</p>
++<!-- INDENTATION -->
++<p>This is the name of the Envelope From header controlled
++by the option above. This can also be the filename of a
++ruleset.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Evelope To Header</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default:
++X&minus;%org&minus;name%&minus;MailScanner&minus;To:</p>
++<!-- INDENTATION -->
++<p>This is the name of the Envelope To header controlled by
++the option above. This can also be the filename of a
++ruleset.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Detailed Spam Report</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>If this is set to yes then you get the normal fully
++detailed spam report in spam messages. If this is set to no
++then you simply get a &quot;spam&quot; or &quot;not
++spam&quot; report. The exact text inserted can be configured
++in the languages.conf file for your language.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Include Scores In SpamAssassin Report</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>Do you want to include the numerical scores in the
++detailed SpamAssassin report, or just list the names of the
++scores?</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Spam Score Character</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: s</p>
++<!-- INDENTATION -->
++<p>If the option &quot;Spam Score&quot; is set, this is the
++character that will be repeated in the &quot;Spam Score
++Header&quot;, one letter for each point in the SpamAssassin
++score.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>SpamScore Number Instead Of Stars</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>If this option is set to yes, you will get a
++spam&minus;score header saying just the value of the spam
++score, instead of the row of characters representing the
++score. This can also be the filename of a ruleset.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Minimum Stars If on Spam List</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 0</p>
++<!-- INDENTATION -->
++<p>This sets the minimum number of &quot;Spam Score
++Characters&quot; which will appear if a message triggered
++the &quot;Spam List&quot; setting but received a very low
++SpamAssassin score. This means that people who only filter
++on the &quot;Spam Stars&quot; will still be able to catch
++messages which receive a very low SpamAssassin score. Set
++this value to 0 to disable it. This can also be the filename
++of a ruleset.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Clean header Value</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: Found to be clean</p>
++<!-- INDENTATION -->
++<p>This is the text that is added to the &quot;Mail
++Header&quot; when a message is found to be clean and free of
++viruses and other dangerous content.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Infected Header Value</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: Found to be infected</p>
++<!-- INDENTATION -->
++<p>This is the text that is added to the &quot;Mail
++Header&quot; when a message is found to be infected with a
++virus or other dangerous content.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Disinfected Header Value</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: Disinfected</p>
++<!-- INDENTATION -->
++<p>This is the text that is added to the &quot;Mail
++Header&quot; of a message that is created by MailScanner to
++contain disinfected documents containing macro viruses that
++could be completely removed, leaving the original document
++intact.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Information Header Value</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: Please contact the ISP for more information</p>
++<!-- INDENTATION -->
++<p>This is the text that is added to the &quot;Information
++Header&quot; of a message that has passed through
++MailScanner at all. It could be used to provide a URL or
++contact address for recipients if they have any queries
++about the messages they have received. If the setting
++&quot;Information Header&quot; is blank, this message will
++not be added to the Mail Header.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Multiple Headers</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: append</p>
++<!-- INDENTATION -->
++<p>When a message passes through more than one MailScanner
++server on your site, they will each try to add their own
++headers. This option controls what should happen when trying
++to add a MailScanner header that already exists in the
++message. Valid options are append (append the new data to
++the existing header), add (add a new header) and replace
++(replace the old data with the new data).</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Hostname</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: the MailScanner</p>
++<!-- INDENTATION -->
++<p>This is the name of the MailScanner server that is put in
++messages to users. If you have more than one MailScanner
++server on your site, you will want to change this on each
++server so that you can tell them apart.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Sign Messages Already Processed</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>If a message has already been processed by another
++MailScanner server on your site, then the &quot;Inline
++HTML/Text Signature&quot; is not added to the message again
++if this option is set. Without it, you will get one
++signature added for every MailScanner server that processes
++the message.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Sign Clean Messages</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>If this option is set, then the &quot;Inline HTML/Text
++Signature&quot; will be added to the end of every clean
++message processed by MailScanner. You can use this to inform
++the recipient that the message has been checked, and also to
++add any legal disclaimer or copyright statement you want to
++add to every message. Using a ruleset for this option, you
++could very simply set it so that only messages leaving your
++site are signed, for example.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Mark Infected Messages</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>If this option is set, then the &quot;Inline HTML/Text
++Warning&quot; is added to the start of every message that is
++found to be infected or has had attachments removed for any
++reason. This can be used to guide the recipients to read the
++infection reports contained in the replacement
++attachments.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Mark Unscanned Messages</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>If this option is set, then any message which is not
++scanned by MailScanner gets the &quot;Mail Header&quot;
++added to it with the string contained in the &quot;Unscanned
++Header Value&quot; option. This can be used to advertise
++your MailScanner service to customers/clients who are
++currently not using it.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Unscanned Header Value</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: Not scanned: please contact your Internet
++E&minus;Mail Service Provider for details</p>
++<!-- INDENTATION -->
++<p>This supplies the text that is placed in the &quot;Mail
++Header&quot; of messages that have not been scanned, if the
++option &quot;Mark Unscanned Messages&quot; is set. It is a
++useful place to advertise your MailScanner service to new
++customers/clients.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
+<p><b>Remove These Headers</b></p></td>
+</table>
+<!-- INDENTATION -->
@@ -89,33 +2862,1846 @@
+<tr valign="top" align="left">
+<td width="11%"></td>
+<td width="89%">
- <p><b>Deliver Cleaned Messages</b></p></td>
- </table>
- <!-- INDENTATION -->
-@@ -3650,13 +3710,11 @@
- <tr valign="top" align="left">
- <td width="22%"></td>
- <td width="78%">
--<p>Default: us&minus;ascii</p>
++<p><b>Deliver Cleaned Messages</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>Once a message has had all viruses and dangerous content
++removed from it, it will then be delivered to the original
++recipients if this option is set. If you want the behaviour
++from previous versions of MailScanner that had the
++&quot;Deliver From Local Domains&quot; keyword, then you
++should set this to be a ruleset that only returns
++&quot;yes&quot; for messages destined for inside your site,
++and &quot;no&quot; for messages going out of your site.</p>
++</td>
++</table>
++<a name="Notifications back to the senders of blocked messages"></a>
++<h2>Notifications back to the senders of blocked messages</h2>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Notifiy Senders</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>Do you want to notify the people who sent you messages
++containing viruses or badly&minus;named filenames? The
++default value has been changed to &quot;no&quot; as most
++viruses now fake sender addresses and therefore should be on
++the &quot;Silent Viruses&quot; list. This can also be the
++filename of a ruleset.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Notify Senders Of Blocked Filenames Or
++Filetypes</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>*If* &quot;Notify Senders&quot; is set to yes, do you
++want to notify people who sent you messages containing
++attachments that are blocked due to their filename or file
++contents? This can also be the filename of a ruleset.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Notify Senders Of Other Blocked Content</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>*If* &quot;Notify Senders&quot; is set to yes, do you
++want to notify people who sent you messages containing other
++blocked content, such as partial messages or messages with
++external bodies? This can also be the filename of a
++ruleset.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Notify Senders Of Viruses</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>*If* &quot;Notify Senders&quot; is set to yes, do you
++want to notify people who sent you messages containing
++viruses? This can also be the filename of a ruleset.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Never Notify Senders Of Precedence</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: list bulk</p>
++<!-- INDENTATION -->
++<p>If you supply a space&minus;separated list of message
++&quot;precedence&quot; settings, then senders of those
++messages will not be warned about anything you rejected.
++This is particularly suitable for mailing lists, so that any
++MailScanner responses do not get sent to the entire
++list.</p>
++</td>
++</table>
++<a name="Changes to subject line"></a>
++<h2>Changes to subject line</h2>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Scanned Modify Subject</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no # end</p>
++<!-- INDENTATION -->
++<p>If this is set to &quot;start&quot; or &quot;end&quot;
++then the &quot;Scanned Subject Text&quot; is inserted at the
++start or the end of the Subject: line. This only happens if
++the Subject: line has not already been modified for any
++other reason.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Scanned Subject Text</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: {Scanned}</p>
++<!-- INDENTATION -->
++<p>This is the text inserted at the start or the end of the
++Subject: line if the &quot;Scanned Modify Subject&quot;
++option above is in effect.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Virus Modify Subject</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>If this is set, then the &quot;Subject:&quot; line of a
++message that was infected with a virus will have the
++&quot;Virus Subject Text&quot; text inserted at the
++start.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Virus Subject Text</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: {Virus?}</p>
++<!-- INDENTATION -->
++<p>This is the text inserted at the start of the
++&quot;Subject:&quot; line if the &quot;Virus Modify
++Subject&quot; option is set.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Filename Modify Subject</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>If this is set, then the &quot;Subject:&quot; line of a
++message that had an attachment with a dangerous filename
++will have the &quot;Filename Subject Text&quot; text
++inserted at the start.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Filename Subject Text</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: {Virus?}</p>
++<!-- INDENTATION -->
++<p>This is the text inserted at the start of the
++&quot;Subject:&quot; line if the &quot;Filename Modify
++Subject&quot; option is set.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Content Modify Subject</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>If this is set, then the &quot;Subject:&quot; line of a
++message that triggered a content check without anything else
++wrong in the message will have the &quot;Content Subject
++Text&quot; text inserted at the start.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Content Subject Text</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: {Filename?}</p>
++<!-- INDENTATION -->
++<p>This is the text inserted at the start of the
++&quot;Subject:&quot; line if the &quot;Content Modify
++Subject&quot; option is set.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Spam Modify Subject</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>If this is set, then the &quot;Subject:&quot; line of a
++message that was determined to be spam will have the
++&quot;Spam Subject Text&quot; text inserted at the
++start.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Spam Subject Text</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: {Spam?}</p>
++<!-- INDENTATION -->
++<p>This is the text to add to the start of the subject if
++the &quot;Spam Modify Subject&quot; option is set. The exact
++string &quot;_SCORE_&quot; will be replaced by the numeric
++SpamAssassin score. This can also be the filename of a
++ruleset.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>High Scroing Spam Modify Subject</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>If this is set, then the &quot;Subject:&quot; line of a
++message that was determined to be spam, and had a
++SpamAssassin score greater than the &quot;High SpamAssassin
++Score&quot; will have the &quot;High Scoring Spam Subject
++Text&quot; text inserted at the start.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>High Scoring Spam Subject Text</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: {Spam?}</p>
++<!-- INDENTATION -->
++<p>This is just like the &quot;Spam Subject Text&quot;
++option above, except that it applies then the score from
++SpamAssassin is higher than the &quot;High SpamAssassin
++Score&quot; value. The exact string &quot;_SCORE_&quot; will
++be replaced by the numeric SpamAssassin score. This can also
++be the filename of a ruleset.</p>
++</td>
++</table>
++<a name="Changes to the message body"></a>
++<h2>Changes to the message body</h2>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Warning Is Attachment</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>When an infected or dangerous attachment is replaced with
++a text message containing the infection report, should the
++replacement be an attachment (yes) or should it be included
++inline in the main text of the message (no).</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Attachment Warning Filename</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default:
++%org&minus;name%&minus;Attachment&minus;Warning.txt</p>
++<!-- INDENTATION -->
++<p>What an infected or dangerous attachment is replaced with
++a text message containing the infection report, this is the
++filename of the attachment that appears in the message.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Attachment Encoding Charset</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
+<p>Default: ISO&minus;8859&minus;1</p>
- <!-- INDENTATION -->
- <p>This is the name of the encoding character set used for
--the contents of &quot;VirusWarning.txt&quot; attachments. If
--your users do not use English as their preferred language,
--you may want to set this to
--&quot;ISO&minus;8859&minus;1&quot;.</p>
++<!-- INDENTATION -->
++<p>This is the name of the encoding character set used for
+the contents of &quot;VirusWarning.txt&quot;
+attachments.</p>
- </td>
- </table>
- <a name="Mail archiving and monitoring"></a>
-@@ -5007,9 +5065,14 @@
- <p>The per&minus;user files (bayes, auto&minus;whitelist,
- user_prefs) are looked for here and in ~/.spamassassin/.
- Note the files are mutable. If this is unset then no extra
--places are searched for. If using Postfix, you probably want
--to set this to /var/spool/MailScanner/spamassassin and
--do</p>
++</td>
++</table>
++<a name="Mail archiving and monitoring"></a>
++<h2>Mail archiving and monitoring</h2>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Archive Mail</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default:</p>
++<!-- INDENTATION -->
++<p>Space&minus;separated list of any combination of</p></td>
++</table>
++<!-- TABS -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="29%"></td>
++<td width="71%">
++
++<p>1. email addresses to which mail should be
++forwarded,</p>
++</td>
++<tr valign="top" align="left">
++<td width="29%"></td>
++<td width="71%">
++
++<p>2. directory names where you want mail to be stored,</p>
++</td>
++<tr valign="top" align="left">
++<td width="29%"></td>
++<td width="71%">
++
++<p>3. file names to which mail will be appended.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>The files (option 3) are using the &quot;mbox&quot;
++format suitable for most Unix mail systems. These files must
++already exist since MailScanner will not create them!</p>
++<!-- INDENTATION -->
++<p>If you give this option a ruleset, you can control
++exactly whose mail is archived or forwarded. If you do this,
++beware of the legal implications as this could be deemed to
++be illegal interception unless the police have asked you to
++do this.</p>
++</td>
++</table>
++<a name="Notices to system administrators"></a>
++<h2>Notices to system administrators</h2>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Send Notices</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>Should system administrators listed in the &quot;Notices
++To&quot; option be notified of every infection found?</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Notices Include Full Headers</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>If this option is set, then the system administrator
++notices will include the full headers of every infected
++message. If this option is set to &quot;no&quot; then only a
++restricted set of headers is included in the notices.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Hide Incoming Work Dir in Notices</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>When this option is set, the full directory in which the
++virus was found will be removed from report messages sent to
++administrators. This makes the infection reports a lot
++easier to understand. It is also very useful if your notices
++go to your customer sites.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Notice Signature</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: &minus;&minus; \nMailScanner\nEmail Virus
++Scanner\nwww.mailscanner.info</p>
++<!-- INDENTATION -->
++<p>This string is added to the bottom of all system
++administrator notices, and is intended to be the signature
++of your MailScanner system. To insert
++&quot;line&minus;breaks&quot; or &quot;newline&quot;
++characters, use the sequence 0</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Notices From</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: MailScanner</p>
++<!-- INDENTATION -->
++<p>The visible part of the email address used in the
++&quot;From:&quot; line of the notices. The
++&lt;user@domain&gt; part of the email address is set to the
++&quot;Local Postmaster&quot; setting.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Notices To</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: postmaster</p>
++<!-- INDENTATION -->
++<p>This option provides a list of the addresses to which
++virus notices should be sent. You may want to set this to be
++a ruleset, providing different notification addresses for
++different domains that you administer.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Local Postmaster</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: postmaster</p>
++<!-- INDENTATION -->
++<p>When virus warnings are sent to any users, this is the
++email address used as the &quot;From:&quot; header in the
++messages.</p>
++</td>
++</table>
++<a name="Definitions of virus scanners and spam detectors"></a>
++<h2>Definitions of virus scanners and spam detectors</h2>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Spam List Definitions</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: %etc&minus;dir%/spam.lists.conf</p>
++<!-- INDENTATION -->
++<p>This file contains all the definitions of the &quot;Spam
++Lists&quot; (also known as RBL&rsquo;s or DNSBL&rsquo;s)
++which can be used to try to detect spam based on where each
++message came from. Many more spam lists can be added to this
++file, but it contains the most popular ones to get you
++started.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Virus Scanner Definitions</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: %etc&minus;dir%/virus.scanners.conf</p>
++<!-- INDENTATION -->
++<p>This file contains the locations of all the commands that
++are run for each virus scanner. Check this file before
++starting MailScanner to make sure it will run the correct
++command or wrapper script.</p>
++</td>
++</table>
++<a name="Spam detection and spam lists (DNS blocklists)"></a>
++<h2>Spam detection and spam lists (DNS blocklists)</h2>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Spam Checks</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>If this option is set, messages will be checked to see if
++they are spam.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Spam List</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: ORDB&minus;RBL Infinite&minus;Monkeys</p>
++<!-- INDENTATION -->
++<p>This provides a space&minus;separated list of &quot;Spam
++Lists&quot; (or RBL&rsquo;s or DNSBL&rsquo;s) which are
++checked for each message. These lists are based on the
++numeric IP address of the server that sent the message to
++your MailScanner server. Every list used here must be
++defined in the &quot;Spam List Definitions&quot; file
++mentioned above.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Spam Domain List</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default:</p>
++<!-- INDENTATION -->
++<p>This provides a space&minus;separated list of &quot;Spam
++Lists&quot; (or RBL&rsquo;s or DNSBL&rsquo;s) which are
++checked for each message. These lists are based on the
++domain name of the sender address of each message. Every
++list used here must be defined in the &quot;Spam List
++Definitions&quot; file mentioned above.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Spam Lists To Reach High Score</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 5</p>
++<!-- INDENTATION -->
++<p>If a message appears in at least this number of
++&quot;Spam Lists&quot; (as defined above), then the message
++will be treated as &quot;High Scoring Spam&quot; and so the
++&quot;High Scoring Spam Actions&quot; will happen. You
++probably want to set this to 2 if you are actually using
++this feature. 5 is high enough that it will never happen
++unless you use lots of &quot;Spam Lists&quot;. This can also
++be the filename of a ruleset.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Spam List Timeout</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 10</p>
++<!-- INDENTATION -->
++<p>This is the number of seconds to wait for each &quot;Spam
++List&quot; lookup to complete. If the lookup takes longer
++than this, it is killed and ignored.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Max Spam List Timeouts</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 7</p>
++<!-- INDENTATION -->
++<p>If a &quot;Spam List&quot; lookup times out for this many
++consecutive checks without ever succeeding, then the
++particular &quot;Spam List&quot; entry will not be used any
++more, as it appears to be unreachable. When MailScanner
++restarts itself after a few hours, MailScanner will try to
++use the entry again, in case service has resumed
++properly.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Spam List Timeouts History</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 10</p>
++<!-- INDENTATION -->
++<p>The total number of Spam List attempts during which
++&quot;Max Spam List Timeouts&quot; will cause the spam list
++fo be marked as &quot;unavailable&quot;. See the previous
++comment for more information. The default values of 5 and 10
++mean that 5 timeouts in any sequence of 10 attempts will
++cause the list to be marked as &quot;unavailable&quot; until
++the next periodic restart (see &quot;Restart
++Every&quot;).</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Is Definitely Not Spam</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: %rules&minus;dir%/spam.whitelist.rules</p>
++<!-- INDENTATION -->
++<p>This option would normally be a ruleset. Any messages for
++which the ruleset result is &quot;yes&quot; will never be
++marked as spam. This is used to create a spam
++&quot;whitelist&quot; of addresses which are never spam. You
++will probably want to include your own site (or your own
++site&rsquo;s IP addresses) in this ruleset.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Is Definitely Spam</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>This option would normally be a ruleset. Any messages for
++which the ruleset result is &quot;yes&quot; will always be
++marked as spam. This is used to create a spam
++&quot;blacklist&quot; of addresses of known spammers.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Definite Spam Is High Scoring</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>Setting this to yes means that spam found in the
++blacklist is treated as &quot;High Scoring Spam&quot; in the
++&quot;Spam Actions&quot; section below. Setting it to no
++means that it will be treated as &quot;normal&quot; spam.
++This can also be the filename of a ruleset.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Ignore Spam Whitelist If Recipients
++Exceed</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 20</p>
++<!-- INDENTATION -->
++<p>Spammers have learnt that they can get their message
++through by sending a message with lots of recipients, one of
++which chooses to whitelist everything coming to them,
++including the spammer. So if a message arrives with more
++than this number of recipients, ignore the &quot;Is
++Definitely Not Spam&quot; whitelist.</p>
++</td>
++</table>
++<a name="SpamAssassin"></a>
++<h2>SpamAssassin</h2>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Use SpamAssassin</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>Do you want to detect spam using the very good
++SpamAssassin package? You must have installed SpamAssassin
++before using this option, otherwise MailScanner will not
++start properly.<br>
++NOTE for FreeBSD port user: The SpamAssassin port is not
++automatically installed with the MailScanner port. You can
++find it at
++/usr/ports/mail/p5&minus;Mail&minus;SpamAssassin.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Max SpamAssassin Size</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 90000</p>
++<!-- INDENTATION -->
++<p>SpamAssassin is quite slow when processing very large
++messages. To work round this problem, this option provides a
++maximum size for messages that are processed with
++SpamAssassin. Most real spam is usually less than about
++50,000 bytes per message.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Required Spam Assassin Score</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 6</p>
++<!-- INDENTATION -->
++<p>This gives the minimum SpamAssassin score value above
++which messages are spam. This replaces SpamAssassin&rsquo;s
++own &quot;required_hits&quot; value, so that it can be a
++ruleset and set to different values for different
++users/domains.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>High SpamAssassin Score</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 20</p>
++<!-- INDENTATION -->
++<p>Messages with a SpamAssassin score greater than this
++value are labelled as being &quot;High Scoring Spam&quot;,
++and a different set of &quot;Spam Actions&quot; are applied
++to messages scoring at least this value.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>SpamAssassin Auto Whitelist</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>SpamAssassin has a feature which measures the ratio of
++spam to non&minus;spam originating from different addresses,
++and will automatically add addresses to its own internal
++&quot;whitelist&quot; if most of the messages from an
++address is not spam. This option enables this feature of
++SpamAssassin. Please read their documentation for more
++information.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>SpamAssassin Prefs File</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: %etc&minus;dir%/spam.assassin.prefs.conf</p>
++<!-- INDENTATION -->
++<p>SpamAssassin uses a &quot;user preferences&quot; file
++which can be used to set the values of various SpamAssassin
++options. This is the name of that file. Its most useful
++feature is that the RBL/DNSBL/&quot;Spam List&quot; checks
++done by SpamAssassin can be disabled as MailScanner already
++does them and there is little to be gained by doing these
++checks twice for every message.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>SpamAssassin Timeout</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 30</p>
++<!-- INDENTATION -->
++<p>This option sets the maximum number of seconds to wait
++for SpamAssassin to process a message. This is a useful
++protection against occasional bugs in SpamAssassin that can
++cause it to take hours to process a single message.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Max SpamAssasin Timeouts</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 20</p>
++<!-- INDENTATION -->
++<p>If several consecutive calls to SpamAssassin time out,
++then MailScanner decides that there is something stopping
++SpamAssassin from working properly. It will therefore be
++disabled for the next few hours until MailScanner restarts
++itself, at which point it will be tried again.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>SpamAssassin Timeouts History</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 30</p>
++<!-- INDENTATION -->
++<p>The total number of SpamAssassin attempts during which
++&quot;Max SpamAssassin Timeouts&quot; will cause
++SpamAssassin to be marked as &quot;unavailable&quot;. See
++the previous comment for more information. The default
++values of 10 and 20 mean that 10 timeouts in any sequence of
++20 attempts will trigger the behaviour described above,
++until the next periodic restart (see &quot;Restart
++Every&quot;).</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Check SpamAssassin If On Spam List</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>If a message has already triggered any of the &quot;Spam
++List&quot; checks, the SpamAssassin check will be skipped if
++this option is set to &quot;no&quot;. This can help reduce
++the load on your server if SpamAssassin checks take a long
++time for some reason.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Always Include SpamAssasin Report</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>If this option is set, then the &quot;Spam Header&quot;
++will be included in the header of every message, so its
++presence cannot be used to filter out spam by your
++users&rsquo; e&minus;mail applications.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Spam Score</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>If a message is spam, and this option is set, then a
++header will be added to the message containing 1 character
++for each point in the SpamAssassin score. This allows users
++to choose for themselves the SpamAssassin scores at which
++they want to do different things with the message, such as
++file it or delete it.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Rebuild Bayes Every</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: 0</p>
++<!-- INDENTATION -->
++<p>If you are using the Bayesian statistics engine on a busy
++server, you may well need to force a Bayesian database
++rebuild and expiry at regular intervals. This is measures in
++seconds. 24 hours = 86400 seconds. To disable this feature
++set this to 0.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Wait During Bayes Rebuild</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p># The Bayesian database rebuild and expiry may take a 2
++or 3 minutes # to complete. During this time you can either
++wait, or simply # disable SpamAssassin checks until it has
++completed. WaitDuringBayesRebuild = no</p>
++</td>
++</table>
++<a name="What to do with spam"></a>
++<h2>What to do with spam</h2>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Spam Actions</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: deliver</p>
++<!-- INDENTATION -->
++<p>This can be any combination of 1 or more of the following
++keywords, and these actions are applied to any message which
++is spam.</p>
++</td>
++</table>
++<!-- TABS -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="4" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>&quot;deliver&quot; &minus; the message is delivered to
++the recipient as normal</p>
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>&quot;delete&quot; &minus; the message is deleted</p>
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>&quot;store&quot; &minus; the message is stored in the
++quarantine</p>
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>&quot;forward&quot; &minus; an email address is
++supplied, to which the message is forwarded</p>
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>&quot;notify&quot; &minus; Send the recipients a short
++notification that spam addressed to them was not delivered.
++They can then take action to request retrieval of the
++orginal message if they think it was not spam.</p>
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>&quot;striphtml&quot; &minus; convert all in&minus;line
++HTML content in the message to be stripped to plain text,
++which removes all images and scripts and so can be used to
++protect your users from offensive spam. Note that using this
++action on its own does not imply that the message will be
++delivered, you will need to specify &quot;deliver&quot; or
++&quot;forward&quot; to actually deliver the message.</p>
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>&quot;attachment&quot; &minus; Convert the original
++message into an attachment of the message. This means the
++user has to take an extra step to open the spam, and stops
++&quot;web bugs&quot; very effectively.</p>
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>&quot;bounce&quot; &minus; bounce the spam message. This
++option should not be used and must be enabled with the
++&quot;Enable Spam Bounce&quot; option first.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>High Scoring Spam Actions</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: deliver</p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="28%"></td>
++<td width="72%">
++<p>This is the same as the &quot;Spam Actions&quot; option
++above, but it gives the actions to apply to any message
++whose SpamAssassin score is above the &quot;High
++Scoring&quot; threshold described above.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Non Spam Actions</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: deliver</p>
++<!-- INDENTATION -->
++<p>This is the same as the &quot;Spam Actions&quot; option
++above, except that it applies to messages that are NOT spam.
++The bounce option does not make much sense here so do not
++use it.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Sender Spam Report</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: %reports&minus;dir%/sender.spam.report.txt</p>
++<!-- INDENTATION -->
++<p>When the &quot;bounce&quot; spam action is applied to a
++message that triggered both a &quot;Spam List&quot; check
++and SpamAssassin, this file gives the text to put in that
++message.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Sender Spam List Report</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default:
++%reports&minus;dir%/sender.spam.rbl.report.txt</p>
++<!-- INDENTATION -->
++<p>When the &quot;bounce&quot; spam action is applied to a
++message that triggered a &quot;Spam List&quot; check, this
++file gives the text to put in that message.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Sender SpamAssassin Report</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default:
++%reports&minus;dir%/sender.spam.sa.report.txt</p>
++<!-- INDENTATION -->
++<p>When the &quot;bounce&quot; spam action is applied to a
++message that triggered SpamAssassin, this file gives the
++text to put in that message.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Inline Spam Warning</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: %reports&minus;dir%/inline.spam.warning.txt</p>
++<!-- INDENTATION -->
++<p>If you use the &rsquo;attachment&rsquo; Spam Action or
++High Scoring Spam Action then this is the location of inline
++spam report that is inserted at the top of the message.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Recipient Spam Report</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default:
++%reports&minus;dir%/recipient.spam.report.txt</p>
++<!-- INDENTATION -->
++<p>If you use the &rsquo;notify&rsquo; Spam Action or High
++Scoring Spam Action then this is the location of the
++notification message that is sent to the original recipients
++of the message.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Enable Spam Bounce</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: %rules&minus;dir%/bounce.rules</p>
++<!-- INDENTATION -->
++<p>You can use this ruleset to enable the &quot;bounce&quot;
++Spam Action. You must *only* enable this for mail from sites
++with which you have agreed to bounce possible spam. Use it
++on low&minus;scoring spam only (&lt;10) and only to your
++regular customers for use in the rare case that a message is
++mis&minus;tagged as spam when it shouldn&rsquo;t have been.
++Beware that many sites will automatically delete the bounce
++messages created by using this option unless you have agreed
++this with them in advance.</p>
++</td>
++</table>
++<a name="System logging"></a>
++<h2>System logging</h2>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Syslog Facility</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: mail</p>
++<!-- INDENTATION -->
++<p>This is the name of the &quot;facility&quot; used by
++syslogd to log MailScanner&rsquo;s messages. If this
++doesn&rsquo;t mean anything to you, then either leave it
++alone or else read the &quot;syslogd&quot; man page.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Log Speed</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>Do you want to log the processing speed for each section
++of the code for a batch? This can be very useful for
++diagnosing speed problems, particularly in spam
++checking.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Log Spam</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>If this option is set, then every spam message will be
++logged to syslog. If you get a lot of spam, or your server
++load is high, you will want to leave this option switched
++off. But if you are having trouble with spam detection,
++setting this to &quot;yes&quot; temporarily can provide
++useful debugging output.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Log Non Spam</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>Do you want all non&minus;spam to be logged? Useful if
++you want to see all the SpamAssassin reports of mail that
++was marked as non&minus;spam. Note: It will generate a lot
++of log traffic.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Log Permitted Filenames</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>If this option is set, then every attachment filename
++that passes the &quot;filename rules&quot; checks will be
++logged to syslog. Normally this is of no interest. But if
++you are having trouble getting your filename rules correct,
++setting, this can provide useful debugging output.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Log Permitted Filetypes</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>Log all the filenames that are allowed by the Filetype
++Rules, or just the filetypes that are denied? This can also
++be the filename of a ruleset.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Log Silent Viruses</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>Log all occurrences of &quot;Silent Viruses&quot; as
++defined above? This can only be a simple yes/no value, not a
++ruleset.</p>
++</td>
++</table>
++<a name="Advanced SpamAssassin Settings"></a>
++<h2>Advanced SpamAssassin Settings</h2>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p>If you are using Postfix you may well need to use some of
++the settings below, as the home directory for the
++&quot;postfix&quot; user cannot be written to by the
++&quot;postfix&quot; user. You may also need to use these if
++you have installed SpamAssassin somewhere other than the
++default location.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>SpamAssassin User State Dir</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default:</p>
++<!-- INDENTATION -->
++<p>The per&minus;user files (bayes, auto&minus;whitelist,
++user_prefs) are looked for here and in ~/.spamassassin/.
++Note the files are mutable. If this is unset then no extra
+places are searched for. NOTE: SpamAssassin is always called
+from MailScanner as the same user, and that is the &quot;Run
+As&quot; user specified in MailScanner.conf. So you can only
@@ -124,6 +4710,1043 @@
+You should not normally need to set this at all. If using
+Postfix, you probably want to set this to
+/var/spool/MailScanner/spamassassin and do</p>
- </td>
- </table>
- <!-- INDENTATION -->
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="26%"></td>
++<td width="74%">
++<p>mkdir /var/spool/MailScanner/spamassassin<br>
++chown postfix.postfix
++/var/spool/MailScanner/spamassassin</p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>SpamAssassin Install Prefix</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default:</p>
++<!-- INDENTATION -->
++<p>This setting is useful if SpamAssassin is installed in an
++unusual place, e.g. /opt/MailScanner. The install prefix is
++used to find some fallback directories if neither of the
++following two settings work. If this is set then it adds to
++the list of places that are searched; otherwise it has no
++effect.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>SpamAssassin Local Rules Dir</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default:</p>
++<!-- INDENTATION -->
++<p>This tells MailScanner where to look for the
++site&minus;local rules. If this is set it adds to the list
++of places that are searched. MailScanner will always look at
++the following places (even if this option is not set):</p>
++</td>
++</table>
++<!-- TABS -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="5" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="43%">
++
++<p>prefix/etc/spamassassin</p>
++</td>
++<td width="29%">
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="43%">
++
++<p>prefix/etc/mail/spamassassin</p>
++</td>
++<td width="29%">
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="43%">
++
++<p>/usr/local/etc/spamassassin</p>
++</td>
++<td width="29%">
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="43%">
++
++<p>/etc/spamassassin</p>
++</td>
++<td width="29%">
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="43%">
++
++<p>/etc/mail/spamassassin</p>
++</td>
++<td width="29%">
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="43%">
++
++<p>maybe others as well</p>
++</td>
++<td width="29%">
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>SpamAssassin Default Rules Dir</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default:</p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="28%"></td>
++<td width="72%">
++<p>This tells MailScanner where to look for the default
++rules. If this is set it adds to the list of places that are
++searched. MailScanner will always look at the following
++places (even if this option is not set):</p></td>
++</table>
++<!-- TABS -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="5" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="44%">
++
++<p>prefix/share/spamassassin</p>
++</td>
++<td width="28%">
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="44%">
++
++<p>/usr/local/share/spamassassin</p>
++</td>
++<td width="28%">
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="44%">
++
++<p>/usr/share/spamassassin</p>
++</td>
++<td width="28%">
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="44%">
++
++<p>maybe others as well</p>
++</td>
++<td width="28%">
++</td>
++</table>
++<a name="Advanced Settings"></a>
++<h2>Advanced Settings</h2>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Spam Score Number Format</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: %d</p>
++<!-- INDENTATION -->
++<p>When putting the value of the spam score of a message
++into the headers, how do you want to format it. If you
++don&rsquo;t know how to use sprintf() or printf() in C,
++please *do not modify* this value. This can also be the
++filename of a ruleset. A few examples for you:</p>
++</td>
++</table>
++<!-- TABS -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="5" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="20%">
++
++<p>%d</p>
++</td>
++<td width="1%"></td>
++<td width="14%">
++
++<p>==&gt; 12</p>
++</td>
++<td width="54%">
++</td>
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="20%">
++
++<p>%5.2f</p>
++</td>
++<td width="1%"></td>
++<td width="14%">
++
++<p>==&gt; 12.34</p>
++</td>
++<td width="54%">
++</td>
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="20%">
++
++<p>%05.1f</p>
++</td>
++<td width="1%"></td>
++<td width="14%">
++
++<p>==&gt; 012.3</p>
++</td>
++<td width="54%">
++</td>
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="20%">
++
++<p><b>Debug</b></p>
++</td>
++<td width="1%"></td>
++<td width="14%"></td>
++<td width="54%">
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p>Default: no</p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Not for use by normal users. Setting this option to
++&quot;yes&quot; will put MailScanner into debugging mode, in
++which it creates slightly more output and will not become a
++daemon.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Debug SpamAssassin</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>Do you want to debug SpamAssassin from within
++MailScanner?</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Run In Foreground</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>Set Run In Foreground to &quot;yes&quot; if you want
++MailScanner to operate normally in foreground (and not as a
++background daemon). Use this if you are controlling the
++execution of MailScanner with a tool like DJB&rsquo;s
++&rsquo;supervise&rsquo; (see
++http://cr.yp.to/daemontools.html).</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>LDAP Server</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default:</p>
++<!-- INDENTATION -->
++<p>If you are using an LDAP server to read the
++configuration, these are the details required for the LDAP
++connection. The connection is anonymous. Example:
++localhost</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>LDAP Base</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default:</p>
++<!-- INDENTATION -->
++<p>If you are using an LDAP server to read the
++configuration, these are the details required for the LDAP
++connection. The connection is anonymous. Example: o=fsl</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>LDAP Site</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default:</p>
++<!-- INDENTATION -->
++<p>If you are using an LDAP server to read the
++configuration, these are the details required for the LDAP
++connection. The connection is anonymous. Example:
++default</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Always Looked Up Last</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>The value of the option is actually never used, but it is
++evaluated at the end of processing a batch of messages. It
++is designed to be used in conjunction with a Custom
++Function. The Custom Function should then be written to have
++a &quot;side effect&quot; of doing something useful such as
++logging lots of information about the batch of messages to a
++file or an SQL database.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Deliver in Background</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p>
++<!-- INDENTATION -->
++<p>When attempting delivery of any messages (when the
++&quot;Delivery Method = batch&quot;) the sendmail/Exim
++command will be run in the background so that MailScanner
++does not have to wait for the delivery attempt to complete.
++There are very few good reasons for setting this to
++&quot;no&quot;.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Lockfile Dir</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: /tmp</p>
++<!-- INDENTATION -->
++<p>This is the directory in which lock files are placed to
++stop the virus scanners used while they are in the middle of
++updating themselves with new virus definitions. If you
++change this at all, you will need to edit the
++&quot;autoupdate&quot; scripts for all your virus
++scanners.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Custom Functions Dir</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default:
++/opt/MailScanner/lib/MailScanner/CustomFunctions<br>
++Default FreeBSD:
++/usr/local/lib/MailScanner/MailScanner/CustomFunctions</p>
++<!-- INDENTATION -->
++<p>Where to put the code for your &quot;Custom
++Functions&quot;. No code in this directory should be
++over&minus;written by the installation or upgrade process.
++All files starting with &quot;.&quot; or ending with
++&quot;.rpmnew&quot; will be ignored, all other files will be
++compiled and may be used with Custom Functions.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Lock Type</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Do not set this option to anything unless you know
++exactly what you are doing. For sendmail and Exim,
++MailScanner will choose the correct value by default. This
++affects how mail queue files are locked, and your mail will
++be totally screwed up if you set this option to anything
++other than the correct value for your MTA. So leave it alone
++and let MailScanner choose the correct value for you.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Minimum Code Status</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: supported</p>
++<!-- INDENTATION -->
++<p>Minimum acceptable code stability status &minus;&minus;
++if we come across code that&rsquo;s not at least as stable
++as this, we barf. This is currently only used to check that
++you don&rsquo;t end up using untested virus scanner support
++code without realising it. Don&rsquo;t even *think* about
++setting this to anything other than &quot;beta&quot; or
++&quot;supported&quot; on a system that receives real mail
++until you have tested it yourself and are happy that it is
++all working as you expect it to. Don&rsquo;t set it to
++anything other than &quot;supported&quot; on a system that
++could ever receive important mail. Levels used are:</p>
++</td>
++</table>
++<!-- TABS -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="4" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>none &minus; there may not even be any code.</p>
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>unsupported &minus; code may be completely untested, a
++contributed dirty hack, anything, really.</p>
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>alpha &minus; code is pretty well untested. Don&rsquo;t
++assume it will work.</p>
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>beta &minus; code is tested a bit. It should work.</p>
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="1%">
++
++<p>&bull;</p>
++</td>
++<td width="5%"></td>
++<td width="72%">
++
++<p>supported &minus; code *should* be reliable.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Split Exim Spool</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: yes</p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="28%"></td>
++<td width="72%">
++<p>Are you using Exim with split spool directories? If you
++don&rsquo;t understand this, the answer is probably
++&quot;no&quot;. Refer to the Exim documentation for more
++information about split spool directories.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p><b>Use Default Rules With Multiple
++Recipients</b></p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Default: no</p>
++<!-- INDENTATION -->
++<p>When trying to work out the value of configuration
++parameters which are using a ruleset, this controls the
++behaviour when a rule is checking the &quot;To:&quot;
++addresses. If this option is set to &quot;no&quot;, then
++some rules will use the result they get from the first
++matching rule for any of the recipients of a message, so the
++exact value cannot be predicted for messages with more than
++1 recipient. This value *cannot* be the filename of a
++ruleset.<br>
++If this option is set to &quot;yes&quot;, then the following
++happens when checking the ruleset:</p>
++</td>
++</table>
++<!-- TABS -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="4" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="3%">
++
++<p>a)</p>
++</td>
++<td width="3%"></td>
++<td width="72%">
++
++<p>1 recipient. Same behaviour as normal.</p>
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="3%">
++
++<p>b)</p>
++</td>
++<td width="3%"></td>
++<td width="72%">
++
++<p>Several recipients, but all in the same domain
++(domain.com for example). The rules are checked for one that
++matches the string &quot;*@domain.com&quot;.</p>
++</td>
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="3%">
++
++<p>c)</p>
++</td>
++<td width="3%"></td>
++<td width="72%">
++
++<p>Several recipients, not all in the same domain. The
++rules are checked for one that matches the string
++&quot;*@*&quot;.</p>
++</td>
++</table>
++<a name="RULESETS"></a>
++<h2>RULESETS</h2>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p>Ruleset files should all be put in
++/opt/MailScanner/etc/rules (FreeBSD:
++/usr/local/etc/MailScanner/rules) and their filename should
++end in &quot;.rules&quot; wherever possible.</p>
++<!-- INDENTATION -->
++<p>All blank lines are ignored, and comments start with
++&quot;#&quot; and continue to the end of the line, like
++this: # This line is just a comment</p>
++<!-- INDENTATION -->
++<p>Other than that, every line is a rule and looks like this
++example: From: john.doe@domain.com yes</p>
++<!-- INDENTATION -->
++<p>As you can see, each rule has 3 fields:<br>
++1. Direction<br>
++2. Pattern to match<br>
++3. Result value (or values)</p>
++<!-- INDENTATION -->
++<p>1. Direction should be one of the following:</p>
++</td>
++</table>
++<!-- TABS -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="5" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="7%">
++
++<p>From:</p>
++</td>
++<td width="4%"></td>
++<td width="78%">
++
++<p>Matches when the message is from a matching address</p>
++</td>
++<td width="0%">
++</td>
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="7%">
++
++<p>To:</p>
++</td>
++<td width="4%"></td>
++<td width="78%">
++
++<p>Matches when the message is to a matching address</p>
++</td>
++<td width="0%">
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p>FromOrTo:</p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Matches when the message is from or to a matching
++address</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p>FromAndTo:</p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Matches when the message is from and to a matching
++address</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p>The syntax of these is very loosely defined. Any word
++containing &quot;from&quot;, any word containing
++&quot;to&quot;, any word containing &quot;from&quot; and
++&quot;to&quot; (in either order), and any word containing
++&quot;and&quot; will work just fine. You can put them in
++upper or lower case, it doesn&rsquo;t matter. And any
++additional punctuation will be ignored.</p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>This specifies the whether the rule should be matched
++against the sender&rsquo;s address (or IP address), or the
++recipient&rsquo;s address.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p>2. The pattern describes what messages should match this
++rule. Some examples are:</p>
++<!-- INDENTATION -->
++<p>user@sub.domain.com # Individual address<br>
++user@* # 1 user at any domain<br>
++*@sub.domain.com # Any user at 1 domain<br>
++*@*.domain.com # Any user at any sub&minus;domain of
++&quot;domain.com&quot;<br>
++*@domain.com # Any user at 1 specific domain<br>
++/pattern/ # Any address matching this Perl regular<br>
++# expression<br>
++192.168. # Any SMTP client IP address in this network<br>
++/pattern&minus;with&minus;no&minus;letters/ # Any SMTP
++client IP address matching this<br>
++# Perl regular expression<br>
++/^192.168.1[4567]./ # Any SMTP client IP address in the
++networks<br>
++# 192.168.14 &minus; 192.168.17<br>
++*@* # Default value<br>
++default # Default value</p>
++<!-- INDENTATION -->
++<p>You should be able to do just about anything with
++that.</p>
++<!-- INDENTATION -->
++<p>3. The result value is what you could have put in the
++entry in the main mailscanner.conf file had you not given
++the filename of a ruleset instead.</p>
++<!-- INDENTATION -->
++<p>See the file EXAMPLES for a few ideas on how to do things
++with this system.</p>
++</td>
++</table>
++<a name="ATTACHMENT FILENAME RULESET"></a>
++<h2>ATTACHMENT FILENAME RULESET</h2>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p>This is held in the filename pointed to by the
++configuration option Filename rules. It contains a set of
++rules that are used to judge whether any given file
++attachment should be accepted or rejected on the basis of
++its filename, regardless of whether it is found to be
++virus&minus;infected or not. This can not only be used for
++draconian measures such as banning all .exe attachments, but
++it can be used with any Perl regular expression to provide
++facilities such as detection of attempts at hiding
++filenames.</p>
++<!-- INDENTATION -->
++<p>Many Windows e&minus;mail programs (eg. Microsoft
++Outlook) hide common file extensions in an attempt to not
++baffle the user. The result is that while an attachment
++called &quot;Your Document.doc&quot; is helpfully displayed
++as &quot;Your Document&quot;, a more sinister attachment
++just as &quot;Looks Safe.txt.pif&quot; will appear simply as
++&quot;Looks Safe.txt&quot;. Many users recognise the .txt
++filename extension as applying to plain text files, which
++they know are safe. So even an experienced user may well
++double&minus;click on this attachment thinking it is just
++going to start Notepad and display the text file. However,
++the file is really an MS&minus;Dos shortcut (.pif file) and
++can execute any arbitrary commands the author wanted: all
++without any indication to the unwitting user.</p>
++<!-- INDENTATION -->
++<p>The rules are matched in order from the top to the bottom
++of the file, and the first rule containing a matching
++regular expression is used. Each line of the file is either
++blank, a comment (in which case it starts with a
++&rsquo;#&rsquo; character) or is a rule made up of 4 fields
++separated by one or more TAB characters:</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p>allow / deny</p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>Accept or reject the attachment if its filename matches
++the regular expression</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p>regular expression</p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>The rule is executed if the attachment matches this
++expression. It may optionally be surrounded in
++&rsquo;/&rsquo; characters.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p>log text</p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>If the rule matches, this text is placed in the syslog.
++If the text is &quot;&minus;&quot;, no string is logged.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p>user text</p></td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="22%"></td>
++<td width="78%">
++<p>If the rule matches, this text is placed in the text
++message sent to the user. If the text is
++&quot;&minus;&quot;, no text is used.</p>
++</td>
++</table>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p>Please have a look at the filename.rules.conf or
++filename.rules.conf.sample file provided with this
++distribution/package/port.</p>
++</td>
++</table>
++<a name="SEE ALSO"></a>
++<h2>SEE ALSO</h2>
++<!-- INDENTATION -->
++<table width="100%" border=0 rules="none" frame="void"
++ cols="2" cellspacing="0" cellpadding="0">
++<tr valign="top" align="left">
++<td width="11%"></td>
++<td width="89%">
++<p>MailScanner(8)</p>
++</td>
++</table>
++<hr>
++</body>
++</html>