Volunteers wanted to help translate FreshPorts
Searches without login should now work. You must get asked to click a button.
Port details
py-spf-engine SPF engine for Postfix policy server and milter implemented in Python
3.1.0_1 mail Σ=1 search for ports that depend on this port Find issues related to this port Report an issue related to this port View this port on Repology. pkg-fallout 3.1.0Version of this port present on the latest quarterly branch.
Maintainer: joneum@FreeBSD.org search for ports maintained by this maintainer
Port Added: 2020-05-31 13:49:34
Last Update: 2026-10-10 08:34:36
Commit Hash: 16d8d18
People watching this port, also watch: libgd, libwmf, postfix, gmake, png
Also Listed In: python
License: APACHE20 GPLv2+
WWW:
https://launchpad.net/spf-engine
Description: #
This project provides the SPF (Sender Policy Framework) back-end for both pypolicyd-spf (for which it was originally developed) and an future SPF milter using pymilter. The goal is to provide a common back-end for common features for support SPF integration with Postfix and Sendmail using both the Postfix policy service and the Sendmail milter protocol (also available with Postfix).
Homepage    cgit ¦ Codeberg ¦ GitHub ¦ GitLab ¦ SVNWeb
Manual pages: #
FreshPorts has no man page information for this port.
pkg-plist: as obtained via: make generate-plist #
There is no configure plist information for this port.
USE_RC_SUBR (Service Scripts)
  • pyspf-milter
Dependency lines:
  • ${PYTHON_PKGNAMEPREFIX}spf-engine>0:mail/py-spf-engine@${PY_FLAVOR}
To install the port: #
cd /usr/ports/mail/py-spf-engine/ && make install clean
To add the package, run one of these commands:
  • pkg install mail/py-spf-engine
  • pkg install py312-spf-engine
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above.
NOTE: This is a Python port. Instead of py312-spf-engine listed in the above command, you can pick from the names under the Packages section.
PKGNAME: py312-spf-engine
Package flavors (<flavor>: <package>) #
  • py312: py312-spf-engine
distinfo: #
TIMESTAMP = 1752973695 SHA256 (spf-engine-3.1.0.tar.gz) = 1d4b8cc58142a88b4b1603129eb9307e6256aa0146c88d515a09a58dbfa39169 SIZE (spf-engine-3.1.0.tar.gz) = 62848

Packages (timestamps in pop-ups are UTC): #
py39-spf-engine
ABIaarch64amd64armv6armv7i386
FreeBSD:14:latest--2.9.3_1--
FreeBSD:14:quarterly-----
FreeBSD:15:latest--n/a-n/a
FreeBSD:15:quarterly--n/a-n/a
FreeBSD:16:latest--n/a-n/a
 
py311-spf-engine
ABIaarch64amd64armv6armv7i386
FreeBSD:14:latest---3.1.0-
FreeBSD:14:quarterly---3.0.4-
FreeBSD:15:latest--n/a3.1.0n/a
FreeBSD:15:quarterly--n/a-n/a
FreeBSD:16:latest--n/a-n/a
 
py312-spf-engine
ABIaarch64amd64armv6armv7i386
FreeBSD:14:latest3.1.0_13.1.0_1--3.1.0_1
FreeBSD:14:quarterly3.1.03.1.0--3.1.0
FreeBSD:15:latest3.1.0_13.1.0_1n/a-n/a
FreeBSD:15:quarterly3.1.03.1.0n/a-n/a
FreeBSD:16:latest3.1.0_13.1.0_1n/a-n/a
 
Dependencies #
NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
Build dependencies: #
  1. py312-flit-core>=3.8<4 : devel/py-flit-core@py312
  2. python3.12 : lang/python312
  3. py312-build>=0 : devel/py-build@py312
  4. py312-installer>=0 : devel/py-installer@py312
Test dependencies: #
  1. python3.12 : lang/python312
Runtime dependencies: #
  1. py312-authres>0 : mail/py-authres@py312
  2. py312-pymilter>0 : mail/py-pymilter@py312
  3. py312-pyspf>0 : mail/py-pyspf@py312
  4. python3.12 : lang/python312
There are no ports dependent upon this port #

Configuration Options: #
===> The following configuration options are available for py312-spf-engine-3.1.0_1: DOCS=on: Build and/or install documentation ===> Use 'make config' to modify these settings
Options name: #
mail_py-spf-engine
USES: #
python shebangfix
pkg-message: #
FreshPorts was unable to extract/find any pkg message
Master Sites: #
Expand this list (2 items)
Collapse this list.
  1. https://files.pythonhosted.org/packages/source/s/spf-engine/
  2. https://pypi.org/packages/source/s/spf-engine/
Collapse this list.
Notes from UPDATING #
These upgrade notes are taken from /usr/ports/UPDATING
  • 2023-02-27
    Affects: users of mail/py-spf-engine
    Author: yasu@FreeBSD.org
    Reason: 
      Default configuration file path of pyspf-milter has changed. Since
      it looks for ${PREFIX}/etc/etc/pyspf-milter/pyspf-milter.conf now,
      you should edit the file if you run pyspf-milter. Alternatively you
      can specify other configuration file path by setting
      pyspf_milter_conffile variable in /etc/rc.conf.
    
    

Number of commits found: 19 #

Commit History - (may be incomplete: for full details, see links to repositories near top of page)
CommitCreditsLog message
3.1.0_1
10 Oct 2026 08:34:36
commit hash: 16d8d1884fd7d8085b5b5537ef18ff3bab52bb4bcommit hash: 16d8d1884fd7d8085b5b5537ef18ff3bab52bb4bcommit hash: 16d8d1884fd7d8085b5b5537ef18ff3bab52bb4bcommit hash: 16d8d1884fd7d8085b5b5537ef18ff3bab52bb4b files touched by this commit
Jochen Neumeister (joneum) search for other commits by this committer
mail/py-spf-engine: Fix crash in pyspf-milter eom()

eom() split the Authentication-Results header at ": " and raised a
ValueError when the SPF engine handed it a value without that
separator, for example when HELO_reject is No_Check and the sender is
empty or when TestOnly is 0. pymilter turned the uncaught exception into
a tempfail, so the message was deferred and eventually bounced.

Add the header only when the separator is present and log a warning
otherwise. The message is delivered without an Authentication-Results
header, the envelope-stage reject decisions are not affected.

PR:		296277
Reported by:	gessel@blackrosetech.com
Sponsored by:	Netzkommune GmbH
3.1.0
10 Oct 2026 06:31:57
commit hash: a701b180cf15df1103f82fa78f5b56a56c5c847fcommit hash: a701b180cf15df1103f82fa78f5b56a56c5c847fcommit hash: a701b180cf15df1103f82fa78f5b56a56c5c847fcommit hash: a701b180cf15df1103f82fa78f5b56a56c5c847f files touched by this commit
Jochen Neumeister (joneum) search for other commits by this committer
mail/py-spf-engine: Take maintainership

Sponsored by:	Netzkommune GmbH
3.1.0
20 Jul 2025 01:24:44
commit hash: c3237d6d12452e811a49010e4cdcdcf695b762ebcommit hash: c3237d6d12452e811a49010e4cdcdcf695b762ebcommit hash: c3237d6d12452e811a49010e4cdcdcf695b762ebcommit hash: c3237d6d12452e811a49010e4cdcdcf695b762eb files touched by this commit
Vanilla I. Shu (vanilla) search for other commits by this committer
mail/py-spf-engine: update to 3.1.0.
3.0.4
08 May 2025 12:16:05
commit hash: 282f9477223a7a7d03889fd701fc1cb3e9086614commit hash: 282f9477223a7a7d03889fd701fc1cb3e9086614commit hash: 282f9477223a7a7d03889fd701fc1cb3e9086614commit hash: 282f9477223a7a7d03889fd701fc1cb3e9086614 files touched by this commit
Matthew Seaman (matthew) search for other commits by this committer
mail/py-dkimpy-milter,mail/py-spf-engine: chase rename of mail/py-pymilter

Update RUN_DEPENDS for dependents of mail/py-pymilter
3.0.4
12 Jun 2024 04:02:05
commit hash: 93136917316ac3e7fe0fba27a1633a854de221ddcommit hash: 93136917316ac3e7fe0fba27a1633a854de221ddcommit hash: 93136917316ac3e7fe0fba27a1633a854de221ddcommit hash: 93136917316ac3e7fe0fba27a1633a854de221dd files touched by this commit
Yasuhiro Kimura (yasu) search for other commits by this committer
mail/py-spf-engine: Release maintainership
3.0.4
27 Jun 2023 19:34:34
commit hash: 3d9a815d9c5acbb71f4bb07738bdeab4879feacbcommit hash: 3d9a815d9c5acbb71f4bb07738bdeab4879feacbcommit hash: 3d9a815d9c5acbb71f4bb07738bdeab4879feacbcommit hash: 3d9a815d9c5acbb71f4bb07738bdeab4879feacb files touched by this commit
Rene Ladan (rene) search for other commits by this committer
all: remove explicit versions in USES=python for "3.x+"

The logic in USES=python will automatically convert this to 3.8+ by
itself.

Adjust two ports that only had Python 3.7 mentioned but build fine
on Python 3.8 too.

finance/quickfix: mark BROKEN with PYTHON

libtool: compile:  c++ -DHAVE_CONFIG_H -I. -I../.. -I -I. -I.. -I../.. -I../C++
-DLIBICONV_PLUG -DPYTHON_MAJOR_VERSION=3 -Wno-unused-variable
-Wno-maybe-uninitialized -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong
-fno-strict-aliasing -DLIBICONV_PLUG -Wall -ansi
-Wno-unused-command-line-argument -Wpointer-arith -Wwrite-strings
-Wno-overloaded-virtual -Wno-deprecated-declarations -Wno-deprecated -std=c++0x
-MT _quickfix_la-QuickfixPython.lo -MD -MP -MF
.deps/_quickfix_la-QuickfixPython.Tpo -c QuickfixPython.cpp  -fPIC -DPIC -o
.libs/_quickfix_la-QuickfixPython.o
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean
'-Wno-uninitialized'? [-Wunknown-warning-option]
QuickfixPython.cpp:175:11: fatal error: 'Python.h' file not found
          ^~~~~~~~~~
1 warning and 1 error generated.

Reviewed by:	portmgr, vishwin, yuri
Differential Revision:	<https://reviews.freebsd.org/D40568>
3.0.4
08 May 2023 06:20:28
commit hash: 205e246ff97b23559868c103055e7451b1a366b3commit hash: 205e246ff97b23559868c103055e7451b1a366b3commit hash: 205e246ff97b23559868c103055e7451b1a366b3commit hash: 205e246ff97b23559868c103055e7451b1a366b3 files touched by this commit
Yasuhiro Kimura (yasu) search for other commits by this committer
mail/py-spf-engine: Update to 3.0.4

ChangeLog:	https://git.launchpad.net/spf-engine/tree/CHANGES?h=3.0.4
3.0.3_1
04 Apr 2023 18:29:11
commit hash: 1730e97e049085a8fe5536788d214cbfc4eb3123commit hash: 1730e97e049085a8fe5536788d214cbfc4eb3123commit hash: 1730e97e049085a8fe5536788d214cbfc4eb3123commit hash: 1730e97e049085a8fe5536788d214cbfc4eb3123 files touched by this commit
Antoine Brodin (antoine) search for other commits by this committer
USE_PYTHON=pep517: bump PORTREVISION
3.0.3
27 Feb 2023 01:45:15
commit hash: f32e5a0b505a1a398b34fc86578c827d4a66a531commit hash: f32e5a0b505a1a398b34fc86578c827d4a66a531commit hash: f32e5a0b505a1a398b34fc86578c827d4a66a531commit hash: f32e5a0b505a1a398b34fc86578c827d4a66a531 files touched by this commit
Yasuhiro Kimura (yasu) search for other commits by this committer
mail/py-spf-engine: Update to 3.0.3

* Since 3.0.0 spf-engine uses flit-core as build backend. So switch to
  use 'USE_PYTHON=pep517'.
* Add entry to UPDATING as default configuration file path of
  pyspf-milter has changed.

ChangeLog:	https://git.launchpad.net/spf-engine/tree/CHANGES?h=3.0.3
2.9.3_1
11 Jan 2023 15:58:34
commit hash: 77d68471aded6907dbbcb5ef50d557e4c69db656commit hash: 77d68471aded6907dbbcb5ef50d557e4c69db656commit hash: 77d68471aded6907dbbcb5ef50d557e4c69db656commit hash: 77d68471aded6907dbbcb5ef50d557e4c69db656 files touched by this commit
Dmitry Marakasov (amdmi3) search for other commits by this committer
*/*: rename CHEESESHOP to PYPI in MASTER_SITES

PR:			267994
Differential revision:	D37518
Approved by:		bapt
07 Sep 2022 21:58:51
commit hash: fb16dfecae4a6efac9f3a78e0b759fb7a3c53de4commit hash: fb16dfecae4a6efac9f3a78e0b759fb7a3c53de4commit hash: fb16dfecae4a6efac9f3a78e0b759fb7a3c53de4commit hash: fb16dfecae4a6efac9f3a78e0b759fb7a3c53de4 files touched by this commit
Stefan Eßer (se) search for other commits by this committer
Remove WWW entries moved into port Makefiles

Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.

This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.

Approved by:		portmgr (tcberner)
2.9.3_1
07 Sep 2022 21:10:59
commit hash: b7f05445c00f2625aa19b4154ebcbce5ed2daa52commit hash: b7f05445c00f2625aa19b4154ebcbce5ed2daa52commit hash: b7f05445c00f2625aa19b4154ebcbce5ed2daa52commit hash: b7f05445c00f2625aa19b4154ebcbce5ed2daa52 files touched by this commit
Stefan Eßer (se) search for other commits by this committer
Add WWW entries to port Makefiles

It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.

Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.

There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above View all of this commit message)
2.9.3_1
05 Sep 2022 20:18:13
commit hash: 00b787288fc81a2e5dba2a62a2627da760772b50commit hash: 00b787288fc81a2e5dba2a62a2627da760772b50commit hash: 00b787288fc81a2e5dba2a62a2627da760772b50commit hash: 00b787288fc81a2e5dba2a62a2627da760772b50 files touched by this commit
Yasuhiro Kimura (yasu) search for other commits by this committer
mail/py-spf-engine: Miscellaneous bug fixes and improvements

* Fix runtime error of pyspf-milter that happens when either 'UMask'
  or 'IntHosts' is set in configuration file.
* Stop installing backup files.
* Make miscellaneous paths consistent between library files, man
  pages, pkg-message and rc.d script.
* Remove CONFLICTS as mail/postfix-policyd-spf-python is removed from
  ports tree

MFH:		2022Q3
2.9.3
20 Jul 2022 14:22:19
commit hash: b587cc2b4da727288248ce5c15129046e6e6b332commit hash: b587cc2b4da727288248ce5c15129046e6e6b332commit hash: b587cc2b4da727288248ce5c15129046e6e6b332commit hash: b587cc2b4da727288248ce5c15129046e6e6b332 files touched by this commit
Tobias C. Berner (tcberner) search for other commits by this committer
mail: remove 'Created by' lines

A big Thank You to the original contributors of these ports:

  *  <ashish@FreeBSD.org>
  *  Aaron Dalton <aaron@FreeBSD.org>
  *  Adam David <adam@FreeBSD.org>
  *  Adam McDougall <mcdouga9@egr.msu.edu>
  *  Adam Weinberger <adamw@FreeBSD.org>
  *  Ade Lovett <ade@FreeBSD.org>
  *  Akinori MUSHA aka knu <knu@idaemons.org>
  *  Alex Deiter <tiamat@komi.mts.ru>
  *  Alex Dupre <ale@FreeBSD.org>
  *  Alex Dupre <sysadmin@alexdupre.com>
  *  Alex Perel <veers@disturbed.net>
(Only the first 15 lines of the commit message are shown above View all of this commit message)
2.9.3
08 Feb 2022 10:32:22
commit hash: 03fd784f40bc8ae7bc6da359b2096e0e859a8f47commit hash: 03fd784f40bc8ae7bc6da359b2096e0e859a8f47commit hash: 03fd784f40bc8ae7bc6da359b2096e0e859a8f47commit hash: 03fd784f40bc8ae7bc6da359b2096e0e859a8f47 files touched by this commit
Yasuhiro Kimura (yasu) search for other commits by this committer
mail/py-spf-engine: Update to 2.9.3

* Switch to DISTVERSION
* Pet portclippy
* Tidy up Makefile with portfmt

ChangeLog:	https://git.launchpad.net/spf-engine/tree/CHANGES?h=2.9.3
2.9.2
28 Sep 2021 05:13:33
commit hash: 10c30f1825b82a7e2e27e2d9e176fe8f325ffce3commit hash: 10c30f1825b82a7e2e27e2d9e176fe8f325ffce3commit hash: 10c30f1825b82a7e2e27e2d9e176fe8f325ffce3commit hash: 10c30f1825b82a7e2e27e2d9e176fe8f325ffce3 files touched by this commit
Yasuhiro Kimura (yasu) search for other commits by this committer
*/*: Update MAINTAINER address of my ports to that of FreeBSD.org

Approved by:	meta (mentor)
Differential Revision:	https://reviews.freebsd.org/D32170
2.9.2
06 Apr 2021 14:31:13
commit hash: 135fdeebb99c3569e42d8162b265e15d29bd937dcommit hash: 135fdeebb99c3569e42d8162b265e15d29bd937dcommit hash: 135fdeebb99c3569e42d8162b265e15d29bd937dcommit hash: 135fdeebb99c3569e42d8162b265e15d29bd937d files touched by this commit
Mathieu Arnold (mat) search for other commits by this committer
all: Remove all other $FreeBSD keywords.
2.9.2
06 Apr 2021 14:31:07
commit hash: 305f148f482daf30dcf728039d03d019f88344ebcommit hash: 305f148f482daf30dcf728039d03d019f88344ebcommit hash: 305f148f482daf30dcf728039d03d019f88344ebcommit hash: 305f148f482daf30dcf728039d03d019f88344eb files touched by this commit
Mathieu Arnold (mat) search for other commits by this committer
Remove # $FreeBSD$ from Makefiles.
2.9.2
31 May 2020 13:49:28
Revision:537162Original commit files touched by this commit
dbaio search for other commits by this committer
Add mail/py-spf-engine, Deprecate mail/postfix-policyd-spf-python

Give time to users to change their env

The new port is the successor, it supports milter feature and its
config file is in another path.

PR:		244424
Submitted by:	Yasuhiro KIMURA <yasu@utahime.org> (maintainer)

Number of commits found: 19