smtpd / qpsmtpd

qpsmtpd is a flexible smtpd daemon written in Perl
http://smtpd.github.io/qpsmtpd/
MIT License
138 stars 75 forks source link

Plugin for Rspamd #293

Closed yitzhaq closed 1 year ago

yitzhaq commented 4 years ago

I know the first answer to this request would likely be "Just use Haraka", but it's not really the answer I'm after. In the optimistic hopes that someone is still working on this project, or has interest in doing so; it would be wonderful to see a plugin for Rspamd. While in theory it might be possible to use the milter plugin to interface against Rspamd, I have not had much luck with this approach, and I think a specific plugin speaking Rspamd protocol (which in turn is HTTP) directly would be far superior.

For anyone not already familiar with Rspamd, it's not only a very powerful and fast spam filter, but also supports many of the other features currently implemented as separate (though seemingly unmaintained) plugins in qpsmtpd. While that in some sense goes against the principles of the highly modular and pluggable architecture of qpsmtpd, this hasn't stopped support in Haraka sharing those same principles. Given the current state of qpsmtpd, Rspamd support would mean some of these features would continue to get updates (in Rspamd), which is not currently the case for the plugins in question, and as such giving qpsmtpd somewhat of a new lease on life.

While Rspamd is powerful enough to also replace much if not most of the third-party software currently supported through other plugins (SpamAssassin, DSPAM, virus scanners etc), it would be extra sweet if an Rspamd plugin shared some of the same design principles as the DSPAM plugin, specifically the agree/disagree logic, so it could optionally work alongside and complement other anti-spam measures. Perhaps needless to say, naughty and karma support would also be a given, with similar training features as those seen in the DSPAM plugin.

Anyone up to the task? I imagine the Haraka plugin could provide some starting pointers for approaching things.