Skip to content

🐛: Updated Role permissions not applied - requires restart #2038

@source-creator

Description

@source-creator

What happened?

Firstly, absolutely fantastic project - thank you.

I have identified a small issue.
Basically an existing role is only applied after Stalwart is restarted.

In my GUI, I get error:
Failed to send the test email. Raw error:
550 5.7.1 Your account is not authorized to use this service.

How can we reproduce the problem?

I can reproduce the problem by doing the following steps:

Email send method:
465 with TLS/always
AUTH plain
sender address the same as login username, both [email protected]
password specified.

Create a new Role:
name: mailsender
description: This role can only send mail.
members: [email protected]
permissions: Authenticate [On], Send emails [On], (the rest, defaults)

Restart the docker container.
Test sending an email.
Pass - Send works.

Edit mailsender role - set permission Authenticate to [Default]
Test sending an email.
Fail - Send works, but it should not.

Restart docker container.
Pass - Send does not work.

Edit mailsender role - set permission Authenticate to [On]
Test sending an email.
Fail - Send does not work.

Restart the docker container.
Test sending an email.
Pass - Send works.

Version

v0.13.x

What database are you using?

SQLite

What blob storage are you using?

SQLite

Where is your directory located?

Internal

What operating system are you using?

Docker

Relevant log output

2025-08-19T08:35:26Z INFO SMTP EHLO command (smtp.ehlo) listenerId = "submissions", localPort = 465, remoteIp = X.X.X.X, remotePort = 5169, domain = "localhost"
2025-08-19T08:35:26Z INFO Authentication successful (auth.success) listenerId = "submissions", localPort = 465, remoteIp = X.X.X.X, remotePort = 5169, accountName = "[email protected]", accountId = 12
2025-08-19T08:35:26Z INFO Unauthorized access (security.unauthorized) listenerId = "submissions", localPort = 465, remoteIp = X.X.X.X, remotePort = 5169, details = "authenticate"

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions