Dokploy / Dokploy/dokploy

Notifications - Email - add TLS servername

Open
#4,649 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
TypeScript
Stars
37.4k
Forks
3k
Avg merge
1d 3h
Merged PRs (30d)
73

Description

What problem will this feature address?

I'm trying to setup Email Notifications in self-hosted instance on IPv6-only server. However docker swarm always has IPv4 addresses (I tried quite hard to recreate dokploy-network and other ones with ipv4=false or subnet only in ipv6 - without luck).
Nodemailer used by Dokploy unfortunatelly has its own weird logic which stubbornly prefers IPv4 addresses and there is no option to change it (and author is against it).
It is possible to set the smtp host to IP address (IPv6), but this fails because server certificate is on domain, not IP. Nodemailer enables to solve this by providing tls.servername option, but it is not available in dokploy.

Describe the solution you'd like

Quickwin would be to enable setting server as IP (currently possible) as well as TLS.servername, e.g.:
let configOptions = {
host: '1.2.3.4',
port: 465,
secure: true,
tls: {
// must provide server name, otherwise TLS certificate check will fail
servername: 'example.com'
}
};
Proper solution would be either to change the behaviour of Nodemailer (of course not possible here) or change the package used for mailing (which would be much larger change of course).

Describe alternatives you've considered

I tried many ways to make the network run IPv6 only but it seems not possible in Docker (Swarm) as of now.

Additional context

No response

Will you send a PR to implement it?

Maybe, need help

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

Locate the email notification configuration and its Nodemailer setup, then trace how the SMTP host and TLS options are assembled. Expose a TLS servername setting alongside the existing SMTP host configuration, and verify that an IPv6 SMTP host can use a domain name for certificate validation.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, typescript
Domain
backend, devops
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
67/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.