AWS Lambda and SMTP

Runtime: Lambda execution environment (container-based, full Node.js)

Verdict: Works. A Lambda function has full outbound internet access by default and runs a real Node.js runtime, so net/tls and nodemailer work unmodified on ports 587/465.

What actually happens on this platform

AWS’s own Lambda networking documentation states plainly: “By default, Lambda functions have access to the public internet.” That only changes if you deliberately attach the function to a VPC without configured internet egress - the default, un-configured case (the one most people are in) has no such restriction.

The part worth reading twice

AWS is widely reported to throttle or block outbound port 25 by default across its compute services as an anti-spam measure - this would not affect ZeroSMTP either way, since it only ever uses 587 (STARTTLS) or 465 (SSL/TLS), never port 25. That specific port-25 policy could not be confirmed against AWS’s own knowledge-center pages in this pass (they block automated fetches) and is stated here as commonly reported, not as independently verified fact.

If it works here

The connection itself is the same as everywhere else: point at mx.msgwing.com on port 587 (STARTTLS) or 465 (SSL/TLS), authenticate with a username and password. Register at msgwing.com first, then use the Node.js/TypeScript example unmodified - nothing about running inside this platform changes the SMTP conversation itself, only whether the platform lets you open that connection in the first place.

Where this came from

Read off Giving Lambda functions access to resources in an Amazon VPC, AWS Lambda’s own documentation, checked 2026-08-30 - rather than recalled. If that page and this one now disagree, that page is right and this one is out of date - say so.

Last reviewed 2026-08-30.

Updated 30 Aug 2026

mx.msgwing.com587 STARTTLS · 465 SSL/TLS Register free