node package manager
Orgs are free. Discover, share, and reuse code in your team. Create a free org »

smtp-to-sendgrid-gateway

SMTP to SendGrid Gateway

Build Status Deps NPM version Docker Automated build Docker Pulls Docker Stars

Get help on Codementor available-for-advisory extra

Forward emails from SMTP requests to the Sendgrid API. Useful when the cloud provider does not allow outbound connections on ports 25, 465, 587.

The Story

It all started with this:

Google Compute Engine does not allow outbound connections on ports 25, 465, and 587. By default, these outbound SMTP ports are blocked because of the large amount of abuse these ports are susceptible to. In addition, having a trusted third-party provider such as SendGrid, Mailgun, or Mailjet relieves Compute Engine and you from maintaining IP reputation with your receivers.

And since we were on a MVP startup weekend working on our next product killbug, we tweet this:

GKE does not allow outbound connections on ports 25, 465, 587. Keycloak requires SMTP. I need to build a SMTP to SendGrid API gateway.

Here we are.

Run

Since this server should run as a sidekick of the main application (thus on the same machine or the same pod) authorization was not required.

docker run -it -p 25:25 -e SENDGRID_API=XXXXXXX fgribreau/smtp-to-sendgrid-gateway

Configuration - environment variables

  • SENDGRID_API (required): sendgrid API token
  • SMTP_PORT (optional) Port to listen (default: 25)

Credits