[jira] [Updated] (JAMES-4183) SMTP ip whitelist: ability to limit senders
"Benoit Tellier (Jira)" <[email protected]> Mon, 2 Mar 2026 14:07:00 +0000 (UTC)
| Newsgroups | gmane.comp.jakarta.james.devel |
|---|---|
| Message-ID | <[email protected]> |
[ https://issues.apache.org/jira/browse/JAMES-4183?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Benoit Tellier updated JAMES-4183:
----------------------------------
Description:
h3. Why?
Customer use case: then use SMTP ip whitelisting for sending emails from 3rd party apps, which do not (easily) support authentication. (ahhhhh printers... )
The problem is that emails sent from these IP are able to send emails with any sender which is freely accepted by the James server. My customer wishes a way to limit the senders that could be used from those hosts.
h3. How?
Have a extra Mail SMTP hooks that allows configuring allowed senders for emails originating from the IP whitelist.
Current proposal:
{code:java}
<smtpserver enabled="true">
<bind>0.0.0.0:25</bind>
<!-- ... -->
<authorizedAddresses>127.0.0.0/8</authorizedAddresses>
<!-- ... -->
<handlerchain>
<handler class="org.apache.james.smtpserver.fastfail.AllowedUnauthenticatedSender">
<allowedSenders>
<allowedSender>[email protected]</allowedSender> <!-- allowed for all unauthenticated users sending from allowed Ips-->
<allowedSender fromIps="172.34.56.0/24,172.34.53.123/32">[email protected]</allowedSender> <!-- Ability to say which host can be used where -->
</allowedSenders>
</handler>
<handler class="org.apache.james.smtpserver.CoreCmdHandlerLoader"/>
</handlerchain>
</smtpserver>
{code}
This hook would trigger if:
- Relaying is allowed
- No user is set
was:
h3. Why?
Customer use case: then use SMTP ip whitelisting for sending emails from 3rd party apps, which do not (easily) support authentication. (ahhhhh printers... )
The problem is that emails sent from these IP are able to send emails with any sender which is freely accepted by the James server. My customer wishes a way to limit the senders that could be used from those hosts.
h3. How?
Have a extra Mail SMTP hooks that allows configuring allowed senders for emails originating from the IP whitelist.
Current proposal:
{code:java}
<smtpserver enabled="true">
<bind>0.0.0.0:25</bind>
<!-- ... -->
<authorizedAddresses>127.0.0.0/8</authorizedAddresses>
<!-- ... -->
<handlerchain>
<handler class="org.apache.james.smtpserver.AllowedUnauthenticatedSender">
<allowedSenders>
<allowedSender>[email protected]</allowedSender> <!-- allowed for all unauthenticated users sending from allowed Ips-->
<allowedSender fromIps="172.34.56.0/24,172.34.53.123/32">[email protected]</allowedSender> <!-- Ability to say which host can be used where -->
</allowedSenders>
</handler>
<handler class="org.apache.james.smtpserver.CoreCmdHandlerLoader"/>
</handlerchain>
</smtpserver>
{code}
This hook would trigger if:
- Relaying is allowed
- No user is set
> SMTP ip whitelist: ability to limit senders
> -------------------------------------------
>
> Key: JAMES-4183
> URL: https://issues.apache.org/jira/browse/JAMES-4183
> Project: James Server
> Issue Type: Improvement
> Components: SMTPServer
> Reporter: Benoit Tellier
> Priority: Major
>
> h3. Why?
> Customer use case: then use SMTP ip whitelisting for sending emails from 3rd party apps, which do not (easily) support authentication. (ahhhhh printers... )
> The problem is that emails sent from these IP are able to send emails with any sender which is freely accepted by the James server. My customer wishes a way to limit the senders that could be used from those hosts.
> h3. How?
> Have a extra Mail SMTP hooks that allows configuring allowed senders for emails originating from the IP whitelist.
> Current proposal:
> {code:java}
> <smtpserver enabled="true">
> <bind>0.0.0.0:25</bind>
> <!-- ... -->
> <authorizedAddresses>127.0.0.0/8</authorizedAddresses>
> <!-- ... -->
> <handlerchain>
> <handler class="org.apache.james.smtpserver.fastfail.AllowedUnauthenticatedSender">
> <allowedSenders>
> <allowedSender>[email protected]</allowedSender> <!-- allowed for all unauthenticated users sending from allowed Ips-->
> <allowedSender fromIps="172.34.56.0/24,172.34.53.123/32">[email protected]</allowedSender> <!-- Ability to say which host can be used where -->
> </allowedSenders>
> </handler>
> <handler class="org.apache.james.smtpserver.CoreCmdHandlerLoader"/>
> </handlerchain>
> </smtpserver>
> {code}
> This hook would trigger if:
> - Relaying is allowed
> - No user is set
--
This message was sent by Atlassian Jira
(v8.20.10#820010)