Reference Implementations
The Perl module Mail::SPF::Query has been the very first implementation of SPF and is currently the de facto reference implementation. It roughly conforms to the final SPFv1 specification, however due to its long heritage (reaching back to 2003) there are some deviations. In particular, the library also supports a number of non-standard features, such as best-guess processing and trusted forwarder accreditation checking.
That being said, there are currently two library implementations that are known to fully conform to the final SPFv1 specification (RFC 4408):
pyspf 2.0: A Python module, which was the first implementation fully conforming to RFC 4408.
Mail::SPF: An object-oriented Perl module that supersedes the old Mail::SPF::Query module. It supports both SPFv1 (v=spf1) and Sender ID (spf2.0) and is very thoroughly documented.
There are multiple SPF Libraries available. Many Mail Servers support SPF natively. Most other popular mail servers have extensions or unofficial patches available.
]
Libraries
Mail Servers that natively support SPF
Extensions and Patches for Mail Servers
Extensions for Mail Clients
Note that performing SPF checks in the mail client is problematic because it is often difficult to accurately obtain the required information from delivered messages.
Other Software that supports SPF
Please report SPF-supporting software to the spf-discuss mailing list or by contacting us directly.