Mail::Milter::Authentication(3p)

NAME
Mail::Milter::Authentication - A Perl Mail Authentication Milter

DESCRIPTION
A Perl Implemetation of email authentication standards rolled up into a single easy to use milter.

SYNOPSIS
Subclass of Net::Server::PreFork for bringing up the main server process for authentication_milter.

Please see Net::Server docs for more detail of the server code.

Please see the output of 'authentication_milter --help' for usage help.

FUNCTIONS

get_installed_handlers()
    Return an array ref of installed handler modules.

METHODS

child_init_hook()
    Hook which runs after forking, sets up per process items.

run_n_children_hook()
    Hook which runs in parent before it forks children.

process_request()
    Hook which runs for each request, sets up per request items and processes the request.

control($command)
    Run a daemon command. Command can be one of start/restart/stop/status.

find_process()
    Search the process table for an authentication_milter master process

get_valid_pid($pid_file)
    Given a pid file, check for a valid process ID and return if valid.

start($hashref)
    Start the server. This method does not return.

        $hashref = {
            'pid_file'   => 'The pid file to use', #
            'daemon'     => 1/0,                   # Daemonize process?
        }

fatal($error)
    Log a fatal error and die in child

fatal_global($error)
    Log a fatal error and die in child and parent

setup_handlers()
    Setup the Handler objects.

load_handler( $name )
    Load the $name Handler module

setup_handler( $name )
    Setup the $name Handler object

destroy_handler( $name )
    Remove the $name Handler

register_callback( $name, $callback )
    Register the specified callback

sort_all_callbacks()
    Sort the callbacks into the order in which they must be called

sort_callbacks( $callback )
    Sort the callbacks for the $callback callback into the right order

destroy_objects()
    Remove references to all objects

get_queue_id()
    Return the queue ID (for logging) if possible.

logerror( $line )
    Log to the error log.

loginfo( $line )
    Log to the info log.

logdebug( $line )
    Log to the debug log.

child_finish_hook()
    Hook which runs when the child is about to finish.

get_client_details()
    Get the details of the connecting client.

get_client_path()
    Get the path of the connecting client.

get_client_port()
    Get the port of the connecting client.

get_client_proto()
    Get the protocol of the connecting client.

pre_loop_hook()
    Hook which runs in the master before looping.

pre_server_close_hook()
    Hook which runs before the server closes.

DEPENDENCIES
  Email::Address
  English
  JSON
  Mail::DKIM
  Mail::DMARC
  Mail::SPF
  MIME::Base64
  Module::Load
  Module::Loaded
  Net::DNS
  Net::IP
  Net::Server
  Pod::Usage
  Proc::ProcessTable
  Sys::Hostname
  Sys::Syslog

AUTHORS
Marc Bradshaw <marc@marcbradshaw.net>

COPYRIGHT
Copyright 2015

This library is free software; you may redistribute it and/or modify it under the same terms as Perl itself.