Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including smtp-to-sendgrid-gateway with all npm packages installed. Try it out:

var smtpToSendgridGateway = require("smtp-to-sendgrid-gateway")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

smtp-to-sendgrid-gateway v1.1.1

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

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

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free