RocketChat / RocketChat/Rocket.Chat

Emails not queued and ignored when sending limit reached

Open
#32,313 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type: bug
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.