[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]