mail/tarpitd: Add new port
tarpitd answers SMTP connections and holds them open for as long as the peer
can be persuaded to wait. It is meant to sit behind a packet filter rule that
redirects known spam sources to it, in the manner of spamd(8) on OpenBSD, and
it never accepts or delivers anything.
Every reply is a syntactically valid SMTP response, so the sender has no reason
to give up, but it is written out one byte at a time and commands are read back
at the same rate. Every terminal answer is a temporary failure, so the message
stays in the sender's queue and it comes back later to be tarpitted again. The
intent is to occupy a slot in the sending botnet's delivery queue for hours
rather than to reject mail quickly.
Among its tactics are a delayed and optionally endless multiline greeting,
detection of clients that transmit before the greeting has finished, padding of
the EHLO response, a STARTTLS handshake that never completes, an AUTH honeypot
that decodes and logs the credentials bots offer, and clamped socket buffers so
the peer's window stays tiny.
tarpitd carries no blocklist and applies no heuristics of its own. The
addresses come from an external source, such as fail2ban or blacklistd(8), and
the only thing that decides whose traffic arrives here is the firewall rule
that redirects it.
PR: 297312
mail/py-standard-mailcap: Add py-standard-mailcap 3.13.0
The mailcap module from the Python standard library, redistributed as a
standalone package.
It provides support for reading mailcap files and determining how to handle
files based on their MIME types.
mail/dovecot24-pigeonhole: new port
Sieve language support by a plugin for the Dovecot deliver LDA&LMTP
* Mail filtering
* Mail forwarding
* Vacation auto-reply
PR: 298046
Reviewed-by: Martin Waschbüsch <martin@waschbuesch.de>
Michael Grimm <trashcan@ellael.org>
mail/opensmtpd-table-postgres: new port
The PostgreSQL table addon for OpenSMTPD allows the storing of usernames,
passwords, aliases, and domains in a PostgreSQL table.
PR: 288908
mail/protonmail-bridge: Add port: Proton Mail Bridge for e-mail clients
Use Proton Mail with your desktop email client.
Proton Mail Bridge adds end-to-end encryption to popular email apps,
including Outlook, Thunderbird, and Apple Mail. Secure email made
easy.
NOTE: Proton Mail Bridge is available only with a paid plan that
includes Proton Mail.
WWW: https://proton.me/mail/bridge
mail/dovecot24: new port
- adding the new version 2.4 of dovecot, while keeping 2.3 in place
- please note that the config syntax has changed between 2.3
and 2.4 and needs to be manually adapted, so use/upgrade with care
PR: 286695
Reported by: Ian Dickens <ian_dickens@icloud.com>
Author: Jordan Ostreff <jordan@ostreff.info>
Co-authored-by: Sebastian Oswald <sko@rostwald.de>
Discussed with: Sebastian Oswald <sko@rostwald.de>,
Eugene R <genie@geniechka.ru>,
Herbert J. Skuhra <herbert@gojira.at>,
Christos Chatzaras <chris@cretaforce.gr>,
and others
Tested by: Jordan Ostreff <jordan@ostreff.info>
mail/stalwart-cli: New port: Stalwart Mail Server CLI
stalwart-cli is the command line interface tool for managing a
Stalwart Mail Server installation. It interacts with the server's
JMAP-based administration API.
WWW: https://stalw.art/
PR: 295647
Reported by: Adrian Gschwend <ktk@netlabs.org> (initial patch),
Herbert J. Skuhra <herbert@gojira.at> (committed patch)
Reviewed by: Orville Q. Song <orville@anislet.dev>
Approved by: Orville Q. Song <orville@anislet.dev> (new maintainer)
Co-authored-by: Adrian Gschwend <ktk@netlabs.org>
mail/bogofilter*: Prepare LMDB 1.0 transition
Here's what we do now:
- mail/bogofilter currently depends on lmdb0, a 0.9.X port, so
it continues to work as before
- add a new mail/bogofilter-lmdb1 port that depends on lmdb, the 1.0
version of the LMDB database.
- add the upstream patch for bogofilter 1.3.0.rc1 that I made and
that delphij@ prepared for integration into the ports tree - thanks!
Here's the plan for end of 2026:
- AT THE SAME TIME:
- upgrade mail/bogofilter to depend on LMDB 1.0
- portrm mail/bogofilter-lmdb1
- add a MOVED entry to redirect from bogofilter-lmdb1 to bogofilter.
While here, clean up and rearrange the Makefiles.
PR: 296519
Reviewed by: arrowd
Pull Request: https://github.com/freebsd/freebsd-ports/pull/551
mail/spf-tools: [New Port] Shell tools for keeping SPF records tidy
A collection of scripts for manipulating SPF records to stay within
the 10 DNS look-up limit specified in RFC 7208. Also includes scripts
to update SPF records via AWS, Cloudflare, and DNSimple APIs.
PR: 294442
Author: Jordan Montesse <ports@brtsvcs.net>
mail/mu4e-maildirs: Remove expired port
2025-11-30 mail/mu4e-maildirs: Upstream discourages using this software and
recommends feature now integrated into mail/mu
mail/rubygem-actionmailbox81: Add rubygem-actionmailbox81 8.1.0
Action Mailbox routes incoming emails to controller-like mailboxes for
processing in Rails. It ships with ingresses for Mailgun, Mandrill, Postmark,
and SendGrid. You can also handle inbound mails directly via the built-in Exim,
Postfix, and Qmail ingresses.
The inbound emails are turned into InboundEmail records using Active Record and
feature lifecycle tracking, storage of the original email on cloud storage via
Active Storage, and responsible data handling with on-by-default incineration.
These inbound emails are routed asynchronously using Active Job to one or
several dedicated mailboxes, which are capable of interacting directly with the
rest of your domain model.
mail/rubygem-actionmailer81: Add rubygem-actionmailer81 8.1.0
Action Mailer is a framework for designing email service layers. These layers
are used to consolidate code for sending out forgotten passwords, welcome wishes
on signup, invoices for billing, and any other use case that requires a written
notification to either a person or another system.
Action Mailer is in essence a wrapper around Action Controller and the Mail gem.
It provides a way to make emails using templates in the same way that Action
Controller renders views using templates.
Additionally, an Action Mailer class can be used to process incoming email, such
as allowing a blog to accept new posts from an email (which could even have been
sent from a phone).
mail/phpmailer7: add new Port
This is exactly the same as version 6.11.1 but bumps the major version
number to indicate the presence of a BC break in child classes. The
changes in 6.11.0 and 6.11.1 have been reverted in 6.12.0. If you have
code that depends on those changes, please upgrade to 7.0.0 instead.
Apologies for the mix up.
Specifically, lang(), setLanguage(), and $language are now static, and
should be called statically.
Sponsored by: Netzkommune GmbH
mail/mu4e: Remove from category Makefile
This should have been included in the commit 1e7b7d4e9ea7.
PR: 289593
Fixes: 1e7b7d4e9ea7 (mail/mu4e: Remove port)
mail/py-resend: Add port: Resend Python SDK
Resend is the email API for developers.
The best way to reach humans instead of spam folders. Deliver
transactional and marketing emails at scale.
WWW: https://github.com/resend/resend-python
mail/libopensmtpd: Library for writing opensmtpd filters
This library provides an event-based interface for writing OpenSMTPd
filters. It is used by the opensmtpd-filter-dkimsign port as well as
several other filters that do not have ports.
WWW: https://imperialat.at/dev/libopensmtpd/
PR: 283822
mail/opensmtpd-filter-dkimsign: DKIM filter for OpenSMTPd
This filter adds a DKIM signature to emails sent through OpenSMTPd.
The rsa and ed25519 signing algorithms are supported, as well as the
simple and relaxed canonicalization algorithms.
The filter can sign emails for several domains, selecting them
according to the from-header, but can only use a single selector,
managing multiple selectors must be done at the OpenSMTPd level.
It depends on the libopensmtpd port.
An example of a minimal configuration for signing outgoing emails for
domain "example.com" and selector "_selector" would be:
filter "dkimsign" proc-exec "filter-dkimsign -d example.com -s _selector \
-k /usr/local/etc/smtpd/dkim/private.key" user _smtpd group _smtpd
And then you can apply that filter to the mail that needs to be signed:
listen on lo0 filter dkimsign
WWW: https://imperialat.at/dev/filter-dkimsign/
PR: 283823
mail/bogofilter-bdb: Remove expired port.
We had to transfer and clean up a few bits from bogofilter-bdb
to bogofilter (the LMDB) based port, and I am also adding an UPDATING
entry.
Revert: "mail/bogofilter-bdb: Remove expired port"
This is a master port for several related ports.
This reverts commit df1a720dcb82a63e23e01373762e01f0686d2891.
mail/py-tlsrpt-reporter: new port
tlsrpt-reporter is a TLSRPT reporting service for SMTP TLS Reporting
as defined in RFC 8460. It receives TLSRPT datagrams from a MTA,
collects them, creates a report in conformance with the TLSRPT
Reporting Schema and finally delivers the report either via SMTP,
indirectly by submitting it to a local MTA which ultimately will be
responsible for delivering the report, or directly via HTTP POST.
PR: 285012
Reported by: Yusuf Yaman
mail/libtlsrpt: new port
Add libtlsrpt shared library. This can be compiled into an MTA
(currently postfix) to enable the sending of TLS reports as defined in
RFC 8460.
I'll be submitting patches to the postfix and postfix-current ports to
enable compiling against this library in the near future.
Changes: https://github.com/sys4/libtlsrpt/blob/v0.5.0/CHANGELOG.md
mail/py-pymilter: update to 1.0.6, add options, rename
Take maintainership.
Move port from mail/py-milter to mail/py-pymilter to match the name of
the PyPI package being ported.
Update to version 1.0.6
Use ${PORTSDIR}/mail/sendmail/bsd.milter.mk for consistency with most
other milter ports.
Add options to force selection between the mail/libmilter port and the
libmilter.so bundled with the base FreeBSD-sendmail package. Prefer
the mail/libmilter port on general principles: given that all major
MTA software supports the milter interface, it should be possible to
install milters from pkg(8) without forcing the FreeBSD-sendmail to be
installed.
Changes:
https://github.com/sdgathman/pymilter/compare/pymilter-1.0.5...pymilter-1.0.6
Approved by: Gerhard Schmidt (former maintainer)
PR: 286630
mail/opensmtpd-table-sqlite: new port
This port replaces mail/opensmtpd-extras-table-sqlite.
The opensmtpd-extras-table-* ports got broken by the latest update of
OpenSMTPD, see my message on the mailing list:
https://lists.freebsd.org/archives/dev-commits-ports-main/2025-January/134537.html
I have requested action by fluffy@ both on the message linked above and
privately via email, but I haven't got any response back.
At this point, I want to unblock my workflow and be able to upgrade
OpenSMTPD. I don't have plans to provide alternatives to all the
opensmtpd-extras-table-* ports.
mail/rubygem-actionmailer80: Add rubygem-actionmailer80 8.0.1
Action Mailer is a framework for designing email service layers. These layers
are used to consolidate code for sending out forgotten passwords, welcome wishes
on signup, invoices for billing, and any other use case that requires a written
notification to either a person or another system.
Action Mailer is in essence a wrapper around Action Controller and the Mail gem.
It provides a way to make emails using templates in the same way that Action
Controller renders views using templates.
Additionally, an Action Mailer class can be used to process incoming email, such
as allowing a blog to accept new posts from an email (which could even have been
sent from a phone).
mail/rubygem-actionmailbox80: Add rubygem-actionmailbox80 8.0.1
Action Mailbox routes incoming emails to controller-like mailboxes for
processing in Rails. It ships with ingresses for Mailgun, Mandrill, Postmark,
and SendGrid. You can also handle inbound mails directly via the built-in Exim,
Postfix, and Qmail ingresses.
The inbound emails are turned into InboundEmail records using Active Record and
feature lifecycle tracking, storage of the original email on cloud storage via
Active Storage, and responsible data handling with on-by-default incineration.
These inbound emails are routed asynchronously using Active Job to one or
several dedicated mailboxes, which are capable of interacting directly with the
rest of your domain model.
mail/linux-r7-organizer: add new port (+)
R7 Organizer is a cross-platform Russian office organizer for mail, tasks and
contacts.
This is a BASIC version of Organizer package without MS Echange support and less
pricing
Sponsored by: Future Crew, LLC
mail/rubygem-actionmailbox72: Add rubygem-actionmailbox72 7.2.1
Action Mailbox routes incoming emails to controller-like mailboxes for
processing in Rails. It ships with ingresses for Mailgun, Mandrill, Postmark,
and SendGrid. You can also handle inbound mails directly via the built-in Exim,
Postfix, and Qmail ingresses.
The inbound emails are turned into InboundEmail records using Active Record and
feature lifecycle tracking, storage of the original email on cloud storage via
Active Storage, and responsible data handling with on-by-default incineration.
These inbound emails are routed asynchronously using Active Job to one or
several dedicated mailboxes, which are capable of interacting directly with the
rest of your domain model.
mail/rubygem-actionmailer72: rubygem-actionmailer72 7.2.1
Action Mailer is a framework for designing email service layers. These layers
are used to consolidate code for sending out forgotten passwords, welcome wishes
on signup, invoices for billing, and any other use case that requires a written
notification to either a person or another system.
Action Mailer is in essence a wrapper around Action Controller and the Mail gem.
It provides a way to make emails using templates in the same way that Action
Controller renders views using templates.
Additionally, an Action Mailer class can be used to process incoming email, such
as allowing a blog to accept new posts from an email (which could even have been
sent from a phone).
mail/pizauth: Add new port
pizauth is a simple program for requesting, showing, and refreshing OAuth2
access tokens. pizauth is formed of two components: a persistent server which
interacts with the user to request tokens, and refreshes them as necessary; and
a command-line interface which can be used by programs such as fdm, neomutt, or
msmtp to authenticate with OAuth2.
https://tratt.net/laurie/src/pizauth/
mail/oama: Add new port
Many IMAP/SMTP clients, like msmtp, fdm, isync, neomutt or mutt can use OAuth2
access tokens but lack the ability to renew and/or authorize OAuth2
credentials. The purpose of oama is to provide these missing capabilities by
acting as a kind of smart password manager. In particular, access token renewal
happens automatically in the background transparent to the user.
The OAuth2 credentials are kept in a keyring provided by any password manager
with a FreeDesktop.org Secret Service compatible API. Some examples of such
password managers are:
Gnome keyring
KDE Wallet Manager
KeePaasXC
Alternatively GNU PG encrypted files can also be used as a backend for storing
credentials.
https://github.com/pdobsan/oama
mail/pecl-imap: New port
PHP extension to operate with the IMAP protocol, as well as the NNTP,
POP3, and local mailbox access methods.
This extension is no longer maintained by php team officially and might
phase out of support in near future.
mail/linux-r7-organizer-pro: add new port (+)
R7 Organizer is a cross-platform Russian office organizer for mail,
tasks and contacts.
Sponsored by: Serenity Cybersecurity, LLC
mail/opendkim-devel: Add new port
* Add mail/opendkim-devel, development snapshot of OpenDKIM.
* Mark mail/opendkim and mail/opendkim-devel as CONFLICTS_INSTALL with
each other
mail/claws-mail: Update to 3.20.0/4.2.0
- Resurrect fancy plugin for the GTK 3 version of Claws Mail.
- Clean up dependencies.
- Disable GDK deprecation warnings flooding the build log.
- Enable i18n of the plugins.
- Enable parallel build of plugins.
PR: 275236
Approved by: Chris Hutchinson <portmaster@bsdforge.com> (maintainer)
mail/rubygem-extended_email_reply_parser: Add
rubygem-extended_email_reply_parser 0.5.1
When implementing a "reply or comment by email" feature, it's necessary to
filter out signatures and the previous conversation. One needs to extract just
the relevant parts for the conversation or comment section of the application.
This is what this ruby gem helps to do.
This gem is an extended version of GitHub's email_reply_parser. It wraps the
original email_reply_parser and allows to build extensions such as support for
i18n and detecting previous conversation that is not properly marked as
quotation by the sender's mail client.
rubygem-premailer-rails-rails71: Add rubygem-premailer-rails-rails71 1.12.0
premailer-rails is a drop in solution for styling HTML emails with CSS without
having to do the hard work yourself.
Styling emails is not just a matter of linking to a stylesheet. Most clients,
especially web clients, ignore linked stylesheets or <style> tags in the HTML.
The workaround is to write all the CSS rules in the style attribute of each tag
inside your email. This is a rather tedious and hard to maintain approach.
Premailer to the rescue! The great premailer gem applies all CSS rules to each
matching HTML element by adding them to the style attribute. This allows you to
keep HTML and CSS in separate files, just as you're used to from web
development, thus keeping your sanity.
This gem is an adapter for premailer to work with actionmailer out of the box.
Actionmailer is the email framework used in Rails, which also works outside of
Rails. Although premailer-rails has certain Rails specific features, it also
works in the absence of Rails making it compatible with other frameworks such as
sinatra.
mail/hydroxide: new port, Open-source ProtonMail CardDAV, IMAP and SMTP bridge
A third-party, open-source ProtonMail bridge. Hydroxide supports CardDAV,
IMAP and SMTP. hydroxide is a server that translates standard protocols
(SMTP, IMAP, CardDAV) into ProtonMail API requests. It allows you to use
your preferred e-mail client and git-send-email with ProtonMail.
PR: 278362
Author: Yusuf Yaman <nxjosephofficial@protonmail.com>
mail/p5-Mail-Milter-Authentication: Add new port
A Perl implementation of email authentication standards rolled up into a
single easy to use milter.
This milter verifies using the following standards.
ARC / BIMI / DMARC / IPRev / SPF
Check HELO matches it's IP address
DKIM (including ADSP)
DomainKeys (deprecated)
SenderID (deprecated)
Includes other additional modules like AddID, ReturnOK and etc...
Approved by: hrs (mentor)
mail/p5-Mail-BIMI: Add new port
Module for retrieving, parsing, and validating BIMI Assertion Records,
BIMI Indicators, and BIMI VMC Evidence Documents.
Approved by: hrs (mentor)
mail/rubygem-actionmailer71: Add rubygem-actionmailer71 7.1.1
Action Mailer is a framework for designing email service layers. These layers
are used to consolidate code for sending out forgotten passwords, welcome wishes
on signup, invoices for billing, and any other use case that requires a written
notification to either a person or another system.
Action Mailer is in essence a wrapper around Action Controller and the Mail gem.
It provides a way to make emails using templates in the same way that Action
Controller renders views using templates.
Additionally, an Action Mailer class can be used to process incoming email, such
as allowing a blog to accept new posts from an email (which could even have been
sent from a phone).
mail/rubygem-actionmailbox71: Add rubygem-actionmailbox71 7.1.1
Action Mailbox routes incoming emails to controller-like mailboxes for
processing in Rails. It ships with ingresses for Mailgun, Mandrill, Postmark,
and SendGrid. You can also handle inbound mails directly via the built-in Exim,
Postfix, and Qmail ingresses.
The inbound emails are turned into InboundEmail records using Active Record and
feature lifecycle tracking, storage of the original email on cloud storage via
Active Storage, and responsible data handling with on-by-default incineration.
These inbound emails are routed asynchronously using Active Job to one or
several dedicated mailboxes, which are capable of interacting directly with the
rest of your domain model.
mail/py-checkdmarc: Add py-checkdmarc 4.8.4
checkdmarc is a Python module and command line utility for validating SPF and
DMARC DNS records.
Features:
- API and CLI
- Can test multiple domains at once
- CLI output in JSON or CSV format
- Parses and validates MX, SPF, and DMARC records
- Checks for DNSSEC deployment
- Lists name servers
- Checks for STARTTLS and TLS support on each mail server