Sign inSign up

zachbg/smtp-relay

By zachbg

•Updated 6 months ago

Simple SMTP relay with Postfix - send email from containers easily

Image
1

1.7K

zachbg/smtp-relay repository overview

⁠smtp-relay

Simple SMTP relay for Docker — send email from any container via Gmail, SES, SendGrid, or any SMTP provider.

Docker Image Docker Pulls

⁠Why?

Every Docker app needs to send email — password resets, notifications, alerts. Instead of configuring SMTP in every app, run one relay and point everything at it.

  • Universal — works with any app that can send email
  • Zero app config — apps just send to smtp-relay:25, no auth needed
  • Any provider — Gmail, AWS SES, SendGrid, Mailgun, custom SMTP
  • Secure — only accepts from Docker networks, TLS to upstream
  • Tiny — Alpine + Postfix, ~15MB

⁠Quick Start

⁠Gmail
docker run -d --name smtp-relay \
  -e SMTP_HOST=smtp.gmail.com \
  -e SMTP_PORT=587 \
  -e [email protected] \
  -e SMTP_PASSWORD=your-app-password \
  zachbg/smtp-relay
⁠AWS SES
docker run -d --name smtp-relay \
  -e SMTP_HOST=email-smtp.us-east-1.amazonaws.com \
  -e SMTP_PORT=587 \
  -e SMTP_USER=AKIAIOSFODNN7EXAMPLE \
  -e SMTP_PASSWORD=your-ses-smtp-password \
  zachbg/smtp-relay

⁠Docker Compose

services:
  smtp:
    image: zachbg/smtp-relay
    restart: unless-stopped
    environment:
      - SMTP_HOST=smtp.gmail.com
      - SMTP_PORT=587
      - SMTP_USER=${SMTP_USER}
      - SMTP_PASSWORD=${SMTP_PASSWORD}

  # Any app — just point SMTP to "smtp:25"
  app:
    image: your-app
    environment:
      - SMTP_HOST=smtp
      - SMTP_PORT=25

⁠Environment Variables

VariableDefaultDescription
SMTP_HOSTUpstream SMTP server (empty = direct delivery)
SMTP_PORT587Upstream SMTP port
SMTP_USERUpstream auth username
SMTP_PASSWORDUpstream auth password
SMTP_FROMOverride From address for all mail
SMTP_TLSyesUse TLS for upstream connection
RELAY_NETWORKS10.0.0.0/8,...Networks allowed to relay (Docker defaults)
HOSTNAMEsmtp-relaySMTP banner hostname

⁠Provider Quick Reference

ProviderSMTP_HOSTSMTP_PORTNotes
Gmailsmtp.gmail.com587Use App Password
AWS SESemail-smtp.REGION.amazonaws.com587SMTP credentials from SES
SendGridsmtp.sendgrid.net587Username: apikey
Mailgunsmtp.mailgun.org587
Outlooksmtp.office365.com587
Fastmailsmtp.fastmail.com465

⁠Testing

# Send test email
docker exec smtp-relay sh -c 'echo "Test from Docker" | mail -s "Test" [email protected]'

⁠License

MIT

Tag summary

Content type

Image

Digest

sha256:d8cd49fa2…

Size

11.6 MB

Last updated

6 months ago

docker pull zachbg/smtp-relay