spfd.perl(1)
| SPFD(1) | User Contributed Perl Documentation | SPFD(1) |
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) characters (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 "Received-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 <mengwong+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>.
| 2006-02-07 | perl v5.12.2 |
