Re: Rspamd integration

Benoit TELLIER <[email protected]> Wed, 8 Jul 2026 14:55:00 +0000
Newsgroups gmane.comp.jakarta.james.devel
Message-ID <[email protected]>
---=Part.ba.6fc2939e1dca9256.19f42399e29.4b5f5b32d4487b35=-
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Accept-Language: fr-FR, en-US, vi-VN, ru-RU, ar-TN, it-IT, de-DE, mn-MN
Content-Language: en-US

A RSpamD hook would make complete sense!

Though the greylisting would need=
 to be backed with a persistance solution (redis ?) so implementing it to p=
lug Rspamd greylisting to James' future greylisting is quite some work=2E

=
(contribution welcomed indeed)

> The Rspamd tests always take less than 2s=
 with my current configuration which would probably not hit any timeouts=2E=
 If that would be too much, one could also use another rspamd instance that=
 only has the ratelimiting and greylisting modules and would be way faster=
=2E
The design allows the mailet to override the default rspamd instance=2E=


We should adopt the same principle in a future RSpamD kook=2E

Also we'd =
likely benefit from:
=C2=A0- SMTP hooks for james rate limiting
=C2=A0- An =
analysis of what makes RSpamD rate limiting more advanced than James' one (=
I'm curious!)

Cheers !--=C2=A0

Best regards,

Benoit TELLIER

General man=
ager of Linagora VIETNAM=2E
Product owner for Twake-Mail product=2E
Chairma=
n of the Apache James project=2E

Mail: btellier@linagora=2Ecom
Tel: (0033)=
 6 77 26 04 58 (WhatsApp, Signal)


On Jul 8, 2026 3:40 PM, from Felix Auri=
nger <felix=2Eauringer@giz=2Eberlin>Hey Benoit,

You're completely right, t=
he soft reject action is worthless as a mailet=2E
There is already an exper=
imental SpamAssassin SMTP hook=2E Do you think a Rspamd hook might also mak=
e sense?
In addition to greylisting, Rspamd also has a more advanced rate l=
imiting mechanism than James=2E
The Rspamd tests always take less than 2s w=
ith my current configuration which would probably not hit any timeouts=2E I=
f that would be too much, one could also use another rspamd instance that o=
nly has the ratelimiting and greylisting modules and would be way faster=2E=


Best regards,
Felix

On 7/7/26 12:51 PM, Benoit TELLIER wrote:
> 
> Hello=
 Felix
> 
> =C2=A0 <listener>=C2=A0 =C2=A0 <class>org=2Eapache=2Ejames=2Ers=
pamd=2ERspamdListener</class>=C2=A0 =C2=A0 <async>true</async>=C2=A0 =C2=A0=
 <configuration>=C2=A0 =C2=A0 =C2=A0 <reportAdded>false</reportAdded>=C2=A0=
 =C2=A0 </configuration>=C2=A0 </listener>
> Allows to unplug this undesira=
ble behaviour: i think it shall be made the default=2E
> 
>> =C2=A0The "gre=
ylist" and "soft reject" actions are not handled=2E
> 
> Correct=2E
> 
> gr=
eylisting makes no sens in a post queue set up=2E We can only greylist if r=
unning in the smtp stack=2E
> 
> soft-reject and quarantine actions would b=
e best handled as add-header IMO
> 
> Do you want to contribute this?--=C2=
=A0
> 
> 
> Best regards,
> 
> Benoit TELLIER
> 
> General manager of Linag=
ora VIETNAM=2E
> Product owner for Twake-Mail product=2E
> Chairman of the =
Apache James project=2E
> 
> Mail: btellier@linagora=2Ecom
> Tel: (0033) 6 =
77 26 04 58 (WhatsApp, Signal)
> 
> 
> 
> On Jul 7, 2026 12:10 PM, from Fel=
ix Auringer <felix=2Eauringer@giz=2Eberlin>Hey,
> 
> I have some questions =
regarding the rspamd integration in James=2E
> 
> Currently, when I move a =
message from my Spam folder to the Inbox, it is marked as ham twice: once b=
ecause it was moved out of the spam folder in another folder that is not th=
e trash folder and once because the message was appended to the Inbox=2E
> =
Is this desired behavior? The MailboxEvents=2EAdded object has a method to =
check whether the email was delivered (or moved)=2E Additionally checking t=
his would make more sense to me=2E
> 
> James distinguishes the following s=
ix actions: "no action", "greylist", "add header", "rewrite subject", "soft=
 reject", "reject"=2E
> I tested that James successfully handles the action=
s "no action", "rewrite subject" and "reject"=2E
> For the latter two and "=
add header", James also sets two headers and marks them so that they can be=
 moved to the spam folder if desired=2E
> The "greylist" and "soft reject" =
actions are not handled=2E
> 
> However, Rspamd emits different actions: "d=
iscard", "reject", "rewrite subject", "add header", "no action", "soft reje=
ct", "quarantine" (docs=2Erspamd=2Ecom/configuration/metrics#introduction)=
=2E
> We would especially be interested in the "soft reject" action to impl=
ement greylisting=2E Additionally, rspamd returns a list of headers it want=
s to remove / add=2E I think honoring those would also be benefitial=2E
> W=
ould you be open for contributions on these topics?
> 
> Best regards,
> Fe=
lix
> ---
> Gesellschaft f=C3=BCr interkulturelles
> Zusammenleben gGmbH (G=
IZ)
> Felix Auringer
> IT
> Reformationsplatz 2
> 13597 Berlin
> 
> Tel: 03=
0/513 0100 00; Fax: 030/513 0100 09 
> giz=2Eberlin; felix=2Eauringer@giz=
=2Eberlin
> 
> Amtsgericht Charlottenburg HRB 200872 B
> Gesch=C3=A4ftsf=C3=
=BChrerin: Dr=2E Britta Marschke
> 
> -------------------------------------=
--------------------------------
> To unsubscribe, e-mail: server-dev-unsub=
scribe@james=2Eapache=2Eorg
> For additional commands, e-mail: server-dev-h=
elp@james=2Eapache=2Eorg
> 
> 
> 

---
Gesellschaft f=C3=BCr interkulturell=
es
Zusammenleben gGmbH (GIZ)
Felix Auringer
IT
Reformationsplatz 2
13597 Be=
rlin

Tel: 030/513 0100 00; Fax: 030/513 0100 09 
giz=2Eberlin; felix=2Eaur=
inger@giz=2Eberlin

Amtsgericht Charlottenburg HRB 200872 B
Gesch=C3=A4ftsf=
=C3=BChrerin: Dr=2E Britta Marschke

--------------------------------------=
-------------------------------
To unsubscribe, e-mail: server-dev-unsubscr=
ibe@james=2Eapache=2Eorg
For additional commands, e-mail: server-dev-help@j=
ames=2Eapache=2Eorg


---=Part.ba.6fc2939e1dca9256.19f42399e29.4b5f5b32d4487b35=---