# MailScanner

NAME
SYNOPSIS
DESCRIPTION
MTA SETUP
SEE ALSO

## NAME

| MailScanner − Virus/Spam Scanner for Sendmail, Exim and Postfix

## SYNOPSIS

| MailScanner [−v] [−−lint] [−−debug] [−−debug−sa] [−−help] [configfile]

## DESCRIPTION

MailScanner starts the main MailScanner process. [configfile] should point to a valid MailScanner configuration file (see MailScanner.conf(5) for details). The default location for this file depends on the operating system.

Linux: /etc/MailScanner/MailScanner.conf

FreeBSD: /usr/local/etc/MailScanner/MailScanner.conf

Other: /opt/MailScanner/etc/MailScanner.conf

The main process then spawns n number of child processes. n is configured in [configfile] with the option "Max Children". Each process waits for messages to appear in the "Incoming Queue Dir", processes these messages and then puts them in the "Outgoing Queue Dir". You may need to adjust the configuration of your MTA (or the startup of your MTA) to make it work with MailScanner.

| −v |  | Prints version information for Mailscanner and all used perl−modules.
| −−lint |  | Checks config file, print what virus scanners you have chosen to use and check SpamAssassin configuration as well.

| −−debug

| Starts MailScanner in debug mode. See MailScanner.conf "Debug=yes".

| −−debug−sa

| Starts MailScanner in debug spamassassin mode. See MailScanner.conf "Debug SpamAssassin=yes".

| −−lint |  | Test MailScanner config and SpamAssassin config. |

## MTA SETUP

It is important that your MTA only queues incoming mail and does not deliver it automatically. You need two mail queues (incoming and outgoing). Moreover you should setup two instances of your MTA. One that accepts incoming mail and puts it to an incoming queue and one that sends out mail that resides in the outgoing queue.

A common setup for Sendmail could look like this:

1. Verify that you already have one queue (e.g. in /var/spool/mqueue).

2. Create a second queue (e.g. /var/spool/mqueue.in) and apply the same owner/group/mode.

3. Change your sendmail startup from

sendmail −bd −q15m (or similar)

to

sendmail −bd −OPrivacyOptions=noetrn −ODeliveryMode=queueonly −OQueueDirectory=/var/spool/mqueue.in
sendmail −q15m

A similar setup for Exim could look like this:

1. Create two queues (e.g. /var/spool/exim.in and /var/spool/exim.out) with appropriate owner/group/mode (e.g. owner=mailnull, group=mail, mode=750).

2. Create two exim configurations (e.g. /usr/local/etc/exim/configure.in, /usr/local/etc/exim/configure.out).

3. Make sure that the incoming exim configuration only queues mails and never delivers mail itself. This can be achieved by using the Exim config option "queue_only = true" and/or a special router definition (Exim 4 syntax):

defer_router:
driver = manualroute
self = defer
transport = remote_smtp
route_list = * 127.0.0.1 byname
verify = false

4. Start two exim instances:

exim −C /usr/local/etc/exim/configure.in
exim −C /usr/local/etc/exim/configure.out

## SEE ALSO

| MailScanner.conf(5)