[PREVIOUS CHAPTER] [NEXT CHAPTER]
2 MEAD (Mail Error Analyze Daemon)


[abstract]
set up 			=> 2.5
configuration file 	=> 2.6
command line option	=> 2.7


Beta test phase now.


2.1	Introduction


Mail delivery causes some errors such as "User unknown", ...

Example:
 From:    Mail Delivery Subsystem <MAILER-DAEMON@DOMAIN.OR.JP>
 Subject: Returned mail: User unknown
 To:      xxx-admin@shumi.fml.org
 Date:    Sun, 21 Jun 1998 16:17:22 +0900 (JST)

 ... while talking to mail.domain.or.jp.:
 >>> RCPT To:<xyz@ar.domain.or.jp>
 <<< 553 <xyz@ar.domain.or.jp>... User Unknown
 550 xyz@ar.domain.or.jp... User unknown
~.q


In default returned error mails are set up to be forwarded to
$MAINTAINER. See the file $DIR/aliases example file. If you can
collect error information automatically, you may remove "user unknown"
user addresses. For example mead.pl collects the information and remove
an address if the address causes errors over some limit.


This may be dangerous especially when you do mis-configuration. So
this is not fml default.  But this mechanism is helpful for you in the
last of year.


2.3 files


2.4	Theory


mead.pl caches returned error mails as an input if the error content
has 5XX code which must be critical. If the error limits some
threshold, mead.pl does "notify removing address to $MAINTAINER" or
"call makefml and remove error mail addresses automatically". In
default "notify removing address to $MAINTAINER".


2.5	How to set up mead


"makefml newml" creates a sample

	include-mead


and $DIR/aliases has a sample entry for mead (comment out).
":include:/var/spool/ml/elena/include-mead" is a sample to kick off mead
program for mails forwarded to elena-admin.


Example: elena ML. To set up mead

	elena-admin: fukachan

	# MEAD; If you use mead.pl, 
	#elena-admin: fukachan, :include:/var/spool/ml/elena/include-mead


	# elena-admin: fukachan

	# MEAD; If you use mead.pl, 
	elena-admin: fukachan, :include:/var/spool/ml/elena/include-mead


2.6	Configuration file


"-f configfile" option loads configuration from this file at the first
stage.  Other command line options can overwrite it.  In default
mead.pl does not use the configuration file but use only command line
options.

e.g.
	mead.pl -f /usr/local/fml/mead_config.ph ...


2.7	mead.pl Command Line Option

Usage: mead.pl [options]

Options:
    -h              help
    -d              debug mode on
    -m mode         mode; report or auto ('report' in default).

    -f configfile   load configuration from this file at the first
                    Other command line options can overwrite it.
    -e number       expire of error data cache (unit is 'day')
    -i number       check interval (unit is 'second')

    -C cachefile    mead data cache file
    -D directory    $DIR (mead.pl working directory)
    -E directory    $EXEC_DIR (e.g. /usr/local/fml)
    -S directory    $ML_DIR (e.g. /var/spool/ml)
    -M path         makefml path

    -p priority     priority, e.g. -p uu=2,uh=0.5
                    (user unkwown == 2, host unkown == 0.5)
                    [KEYWORD]
                            uu: unknown user
                            uh: unknown host
                            ua: unknown address
                            us: service unavaiable 
                            default: default value for phrases not above

    -k action        'bye' is default,  off or bye.
                     change the action when mead detects a bad address.

    -l limit         limit whether we should do action defined by '-k action'

    -z sendmail      alternative sendmail path


1998/10/1
   mead.pl -k command option (default 'bye')

If you 'off' the users who causes "unknown user" error "not reachable",
you can  use '-k off' option.


2.8	Discussion


We cannot detect the original address which is forwarded and causes
errors. e.g.

	fml -> a@b.org	-> a@xyz.com (error)


The error mail says for the delivered address <a@b.org>

	 550 <a@xyz.com> user unknown


which is not on $ACTIVE_LIST nor $MEMBER_LIST.

2.9	A few tips

1998/10/10
   mead.pl (Mail Error Analyze Daemon);
	Ignore Japanese Strings (which may cause an error)


2.10	VERPs (Variable Envelope Return Paths)


http://www.jp.qmail.org/qmaildoc/RFC/RFCVERP.html 


VERPs: Variable Envelope Return Paths. See 
http://www.qmail.org/.


If you enable $USE_VERP variable, fml uses VERPs.

	$USE_VERP = 1; (default 0)


After 2.2C#6 (1999/06/19), I change .qmail-listname-default for VERPs,
which calls mead.


On "makefml config", you can do

   top menu => SECURITY_AND_FILTER => CHECK_MAILBODY_CKSUM => "y"

[PREVIOUS CHAPTER] [NEXT CHAPTER]