Not sure what has gone wrong, but one of my sites can no longer send emails and just returns a nodemailer timeout error. On the website side the mail setup has not changed in years.
I finally came to the conclusion that it was something on Digital Ocean, so i went into the server console and tried a simple telnet
session to the mail server, and after a lengthy period it returns Unable to connect to remote host: connection timed out
Because i have multiple other droplets I decided to test in the console on another droplet, and the telnet
session opens right away. Considering it uses the exact same mail server, I thought it must be something on Digital Ocean. So I opened a support ticket and this is their response.
Hello,
Thank you for reaching out to DigitalOcean support. Here to help.
I understand your concern regarding sending emails and apologize for any inconvenience caused over here.
I have checked with our network team about this, and they have notified us that ports 465 and 587 have been blocked on droplets on March 6, 2025. This is to make sure that the DigitalOcean servers are not used to send spam emails. DigitalOcean is not a dedicated email host, and stopping spam is a constant fight. Due to this, restrictions have been imposed on all accounts. Please check the latest release notes to have more information on this:
I would recommend you to use dedicated email deliverability platforms, as they are better equipped to handle factors like IP reputation and sender reputation.
Should you have any other questions, feel free to reach out to us.
Swimmingly,
Senior Cloud Support Engineer
DigitalOcean
Following the link says the following
March 2025
6 March
- SMTP ports 465 and 587 are now blocked on Droplets.
Not to sound completely dumb, but I was under the impression that I was not sending email using Digital Ocean at all, but instead the app running on the droplet was asking the mail server on port 465 to send the email?
Am I confused, I am not even really sure how to answer the Digital Ocean support person to be honest, and if their port blocking has caused the error, then why are all my other droplets still working correctly?
Can someone please try explain this to me better.