spfd

SPFD(8p)              User Contributed Perl Documentation             SPFD(8p)

NAME
       spfd - simple forking daemon to provide SPF query services

VERSION
       2006-02-07

SYNOPSIS
       spfd --port port [--set-user uid|username] [--set-group gid|groupname]

       spfd --socket filename [--socket-user uid|username] [--socket-group
       gid|groupname] [--socket-perms octal-perms] [--set-user uid|username]
       [--set-group gid|groupname]

       spfd --help

DESCRIPTION
       spfd is a simple forking Sender Policy Framework (SPF) query proxy
       server.  spfd receives and answers SPF query requests on a TCP/IP or
       UNIX domain socket.

       The --port form listens on a TCP/IP socket on the specified port.  The
       default port is 5970.

       The --socket form listens on a UNIX domain socket that is created with
       the specified filename.  The socket can be assigned specific user and
       group ownership with the --socket-user and --socket-group options, and
       specific filesystem permissions with the --socket-perms option.

       Generally, spfd can be instructed with the --set-user and --set-group
       options to drop root privileges and change to another user and group
       before it starts listening for requests.

       The --help form prints usage information for spfd.

REQUEST
       A request consists of a series of lines delimited by \x0A (LF) charac-
       ters (or whatever your system considers a newline).  Each line must be
       of the form key=value, where the following keys are required:

       ip  The sender IP address.

       sender
           The envelope sender address (from the SMTP "MAIL FROM" command).

       helo
           The envelope sender hostname (from the SMTP "HELO" command).

RESPONSE
       spfd responds to query requests with similar series of lines of the
       form key=value.  The most important response keys are:

       result
           The result of the SPF query:

           pass      The specified IP address is an authorized mailer for the
                     sender domain/address.

           fail      The specified IP address is not an authorized mailer for
                     the sender domain/address.

           softfail  The specified IP address is not an authorized mailer for
                     the sender domain/address, however the domain is still in
                     the process of transitioning to SPF.

           neutral   The sender domain makes no assertion about the status of
                     the IP address.

           unknown   The sender domain has a syntax error in its SPF record.

           error     A temporary DNS error occurred while resolving the sender
                     policy.  Try again later.

           none      There is no SPF record for the sender domain.

       smtp_comment
           The text that should be included in the receiver's SMTP response.

       header_comment
           The text that should be included as a comment in the message's "Re-
           ceived-SPF:" header.

       spf_record
           The SPF record of the envelope sender domain.

       For the description of other response keys see Mail::SPF::Query.

       For more information on SPF see <http://www.openspf.org>.

EXAMPLE
       A running spfd could be tested using the "netcat" utility like this:

           $ echo -e "ip=11.22.33.44\nsender=user@pobox.com\nhelo=spammer.example.net\n" | nc localhost 5970
           result=neutral
           smtp_comment=Please see http://spf.pobox.com/why.html?sender=user%40pobox.com&ip=11.22.33.44&receiver=localhost
           header_comment=localhost: 11.22.33.44 is neither permitted nor denied by domain of user@pobox.com
           guess=neutral
           smtp_guess=
           header_guess=
           guess_tf=neutral
           smtp_tf=
           header_tf=
           spf_record=v=spf1 ?all

SEE ALSO
       Mail::SPF::Query, <http://www.openspf.org>

AUTHORS
       This version of spfd was written by Meng Weng Wong <meng-
       wong+spf@pobox.com>.  Improved argument parsing was added by Julian
       Mehnle <julian@mehnle.net>.

       This man-page was written by Julian Mehnle <julian@mehnle.net>.

perl v5.8.8                       2006-02-07                          SPFD(8p)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2024 Hurricane Electric. All Rights Reserved.