The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Mail::Decency::Policy::Basic

CONFIG

    ---
    
    disable: 0
    
    weight_invalid_helo_hostname: -100
    
    weight_non_fqdn_helo_hostname: -100
    weight_non_fqdn_recipient: -100
    weight_non_fqdn_sender: -100
    
    weight_unknown_helo_hostname: -50
    weight_unknown_recipient_domain: -50
    weight_unknown_sender_domain: -50
    
    #weight_unknown_client_hostname: -50
    weight_unknown_reverse_client_hostname: -50

DESCRIPTION

Re-implementation of postfix's restriction directives but with scoring.

The following directives are re-implemented:

  • reject_invalid_helo_hostname -> weight_invalid_helo_hostname

    Syntax of helo hostname is invalid (eg "???" or "#@%@@" or whatever is not syntactically correct)

  • reject_non_fqdn_helo_hostname -> weight_non_fqdn_helo_hostname

    Syntax is correct, but not in FQDN form (eg localhost, but not localhost.tld)

  • reject_non_fqdn_recipient -> weight_non_fqdn_recipient

    Recipient address is not FDQN (eg: "user" without domain or anything or "user@localhost" but not "user@localhost.tld").

  • reject_non_fqdn_sender -> weight_non_fqdn_sender

    Same as above but for sender address.

  • reject_unknown_helo_hostname -> weight_unknown_helo_hostname

    If the syntax is correct and in FQDN form but NOT an existing domain (has no A or MX record)

  • reject_unknown_recipient_domain -> weight_unknown_recipient_domain

    Recipient is in correct FQDN but recipient domain does not have an A or MX record.

  • reject_unknown_sender_domain -> weight_unknown_sender_domain

    Same as above, but for sender.

  • reject_unknown_client_hostname -> weight_unknown_client_hostname

    This matches if: 1) the client IP address->name mapping fails, 2) the name->address mapping fails, or 3) the name->address mapping does not match the client IP address

    Stronger then weight_unknown_reverse_client_hostname which matches only 1)

  • reject_unknown_reverse_client_hostname -> weight_unknown_reverse_client_hostname

    See above.

The order the tests will be performed is in as they are listed above.

CLASS ATTRIBUTES

weight_non_fqdn_sender : Int

Default: 0

weight_unknown_sender_domain : Int

Default: 0

weight_non_fqdn_recipient : Int

Default: 0

weight_unknown_recipient_domain : Int

Default: 0

weight_invalid_helo_hostname : Int

Default: 0

weight_non_fqdn_helo_hostname : Int

Default: 0

weight_unknown_helo_hostname : Int

Default: 0

weight_unknown_client_hostname : Int

Default: 0

weight_unknown_reverse_client_hostname : Int

Default: 0

resolver : Net::DNS::Resolver

Will be created automatically.

METHODS

init

handle

Either build stats per country or score with negative or positve weight per country or do both

_has_a_or_mx

Returns bool wheter given domain has A or MX record

_resolute_domain_to_ip

Resolutes either A or MX recrod to IP(s)

AUTHOR

Ulrich Kautz <uk@fortrabbit.de>

COPYRIGHT

Copyright (c) 2010 the "AUTHOR" as listed above

LICENCSE

This library is free software and may be distributed under the same terms as perl itself.