Rspamd

Last updated
Rspamd
Original author Vsevolod Stakhov
Developers Vsevolod Stakhov, Alexander Moisseev, Andrew Lewis
Initial releaseMay 8, 2008;17 years ago (2008-05-08)
Stable release
3.13.2 [1]   OOjs UI icon edit-ltr-progressive.svg / 5 October 2025;2 days ago (5 October 2025)
Repository
Written in C , C++ , Lua
Operating system GNU/Linux , BSD
Type Spam filter
License Apache License 2.0
Website rspamd.com   OOjs UI icon edit-ltr-progressive.svg

Rspamd is a spam filter for use with mail servers. Released in 2008 under the Apache License, this free software offers a wide range of functions and a fail-safe, clusterable architecture.

Contents

History

Rspamd was founded in May 2008 by Vsevolod Stakhov, who was dissatisfied with SpamAssassin, written in Perl, due to its excessive runtime and resource consumption. [2] Stakhov wrote intially a speed-optimised parser for SpamAssassin rules in C. The first release, version 0.2.7, followed in 2009. In 2015, Stakhov was hired by a provider and devoted himself full-time to further development, expanding the open-source tool with a variety of modules and approaches. [3] [4] Version 1.0.0 was released in September of the same year. [5] Rspamd replaced Amavis in many places from 2016 onwards [6] and has been in use at mailbox since 2018, for example. Version 2.0.0 followed in October 2019 [7] and 3.0.0 in October 2021. [8] Stakhov founded Rspamd Ltd, based in Cambridge, where he has been employed since December 2023 and is primarily responsible for further development, [9] [10] with the core gradually being migrated to C++. [11]

The software is part of the official repositories of Linux distributions such as Debian, Ubuntu, CentOS and others. [12] Email and groupware solutions integrate Rspamd, such as Zimbra, [13] Mailu [14] and Mailcow. [15]

Functionality

Example of a rejected e-mail Rspamd Rejected Mail.png
Example of a rejected e-mail

Rspamd evaluates emails using a series of rules, such as regular expressions, statistical analyses or other services. Based on the analysis, the message is assigned symbols and scores and, if certain thresholds are reached, is marked as spam, get greylisted or rejected, for example. [16] While the core and internal modules are written in C and C++, external modules are implemented in Lua. Rspamd uses an event-driven architecture. [17] An important component are dynamic data sources such as allow- or denylist of all kinds. [18] Custom rules can be written as regular expressions and/or as Lua code. [19] Rspamd uses Redis as its cache [20] and offers cluster capability for monitoring as well as a web interface.

Rspamd connects to mail transfer agents such as Postfix or Exim via the Milter interface or HTTP-REST. [21] Additional services can be integrated via modules, such as virus scanners (ClamAV, Kaspersky, VirusTotal and others), blackhole lists, DCC, Razor or ChatGPT. Common authenticity protocols such as SPF, DKIM, ARC, DMARC and Authentication-Results are also supported. In addition to the native parser for SpamAssassin rules, it is also possible to access the SpamAssassin process directly.

In addition to a Bayesian spam filter based on Markov chains [2] , which is trained automatically [22] or by users using Sieve, [23] a neural network can also be trained. Rspamd uses fuzzy hashing to recognise recurring patterns. [24]

Literature

References

  1. rspamd. "Release Rspamd 3.13.2 · rspamd/rspamd" . Retrieved 7 October 2025.
  2. 1 2 Stakhov, Vsevolod (2016-01-30). "Rspamd - fast opensource spam filter". FOSDEM . Retrieved 2025-09-27. Recording, a at 0:40-0:60, b at 16:15
  3. Rosenberg, Carsten (2025-04-26). "Open Source Mail-Security mit Rspamd" (in German). Grazer Linuxtage. Retrieved 2025-08-22. at 08:50
  4. Hollants, Pieter (2018). "rspamd aus der Perspektive des Hobbyadmins" (in German). FrOSCon . Retrieved 2025-09-27. at 10:40
  5. "Release 1.0.0". Github. Retrieved 2025-09-27.
  6. Deimeke, Dirk; Kania, Stefan; von Soest, Daniel; Heinlein, Peer; Miesen, Axel (2021). Linux-Server: Das umfassende Handbuch (in German) (6., aktualisierte Auflage ed.). Bonn: Rheinwerk Computing. p. 344. ISBN   978-3-8362-8088-4.
  7. "Rspamd 2.0 has been released". lists.rspamd.com. Retrieved 2025-09-27.
  8. "Rspamd 3.0". Github. Retrieved 2025-09-27.
  9. Rosenberg, Carsten; Zurmuehl, Manu (2024). "Enterprise Mail-Security mit Open-Source? Rspamd - Mail-Security-Framework" (in German). FrOSCon. Retrieved 2025-09-27. at 41:14
  10. "Vsevolod Stakhov". LinkedIn . Retrieved 2025-09-28.
  11. Stakhov, Vsevolod (2024-02-04). "[Operations] Rspamd's 15-Year Odyssey: From Hobby to Open Source Impact". FOSDEM. Retrieved 2025-09-30. at 11:50
  12. Deimeke, Dirk; Kania, Stefan; von Soest, Daniel; Heinlein, Peer; Miesen, Axel (2021). Linux-Server: Das umfassende Handbuch (in German) (6., aktualisierte Auflage ed.). Bonn: Rheinwerk Computing. p. 346. ISBN   978-3-8362-8088-4.
  13. "RSPAMD - Fast, free and open-source spam filtering system" . Retrieved 2025-08-22.
  14. Förster, Moritz (2023-04-05). "E-Mail-Server im Eigenbetrieb: Mailu 2.0 jetzt auch für den Raspberry Pi" (in German). iX . Retrieved 2025-08-22.
  15. Mahn, Jan (2021-04-23). "Mailcow: Mailserver einrichten und Spam-arm betreiben" (in German). c’t . Retrieved 2025-08-22.
  16. "Documentation". docs.rspamd.com. Retrieved 2025-09-25.
  17. "Rspamd architecture". docs.rspamd.com. Retrieved 2025-09-25.
  18. "Rspamd Maps: A Comprehensive Guide". docs.rspamd.com. Retrieved 2025-09-25.
  19. "Rule Writing Workshop". docs.rspamd.com. Retrieved 2025-09-25.
  20. "Redis configuration for Rspamd". docs.rspamd.com. Retrieved 2025-09-25.
  21. "MTA integration". docs.rspamd.com. Retrieved 2025-09-25.
  22. "Rspamd statistic settings". docs.rspamd.com. Retrieved 2025-09-25.
  23. "Getting feedback from users with IMAPSieve". docs.rspamd.com. Retrieved 2025-09-25.
  24. "Usage of fuzzy hashes". docs.rspamd.com. Retrieved 2025-09-25.