RocketChat / RocketChat/Rocket.Chat
Emails not queued and ignored when sending limit reached
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 46.1k
- Forks
- 13.9k
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 130
Description
Description:
Emails server setup using Authenticated SMTPS to localhost email server on port 465
The email server limits connections to 5 per IP as a security device.
If Rocket sends say 40 email notifications this overloads the server but Rocket does nothing - doesn't queue the mails or send an error.
It just seems to fire and forget.
Steps to reproduce:
Setup Email server with authenticated login on port 465
Set Max Connections per IP to 5
Ping @all or similar
Expected behavior:
All mails should be sent - those that the sender rejects should be queued and resent
Unsent mails should throw an error.
Actual behavior:
Notification emails get limited to 5 and the rest rejected and never sent.
Rocket gives no information on this.
Server Setup Information:
- Version of Rocket.Chat Server: 6.6.7
- Operating System: Linux
- Deployment Method: docker (rocket only, not mongo)
- Number of Running Instances: 1
- DB Replicaset Oplog: replicaset enabled, oplog disabled
- NodeJS Version: 14.21.3
- MongoDB Version: 5.0.26-1
Mail server log can be supplied on request.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing Rocket.Chat's notification email sending path and how authenticated SMTPS connection-limit rejections are handled. Reproduce the issue with a five-connection-per-IP mail server and inspect the available server logs. Done means rejected messages are retried or queued, and permanently unsent messages produce an error or other clear notification.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, linux, nodejs, typescript
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100