SMTP sidecar to filter emails before they reach your email service provider such as AWS SES, Mailjet
706
SMTP Firewall serves as a sidecar container alongside your primary application. It filters emails before they reach your email service provider.
Key features:
Instead of running SMTP Firewall as a sidecar in a Kubernetes Pod, you may make use of Docker Compose to try running it.
version: '3'
services:
smtp:
image: rnwood/smtp4dev
ports:
- 3000:80
smtp_firewall:
image: relatedbits/smtp-firewall
environment:
FILTER_BAD_DOMAIN_ENABLED: true
app:
image: YOUR_APPLICATION_IMAGE # Replace with your app image
environment:
SMTP_HOST: smtp_firewall # Set SMTP Host
SMTP_PORT: 1025 # Set SMTP Port
Launch the containers using:
docker compose up -d
Open your application and send an email.
You may then open http://localhost:3000 to see if the email is being dropped.
SMTP Firewall reads from bad_domains.txt for the email blacklist.
Each line in the file represents a domain name.
You may start from downloading email blacklist online:
Environment variables:
| Variable | Value(example) |
|---|---|
| SENDER_TYPE | smtp |
| SENDER_SMTP_ADDR | smtp:25 |
Environment variables:
| Variable | Value(example) |
|---|---|
| SENDER_TYPE | awsses |
| SENDER_AWSSES_TIMEOUT | 5 |
Environment variables:
| Variable | Value(example) |
|---|---|
| SENDER_TYPE | mailjet |
| SENDER_MAILJET_BASEURL | (Leave it blank to apply the default base URL defined by official library) |
| SENDER_MAILJET_APIKEY_PUBLIC | APIKEY_PUBLIC |
| SENDER_MAILJET_APIKEY_PRIVATE | APIKEY_PRIVATE |
| Variable | Default Value |
|---|---|
| SMTP_SERVER_ADDR | 0.0.0.0:1025 |
| SMTP_SERVER_ALLOW_INSECURE_AUTH | true |
| FILTER_BAD_DOMAIN_ENABLED | false |
| RATELIMIT | 10 |
| QUEUE_CAPACITY | 100 |
| TIMEDMAP_COOLDOWN_SECONDS_FOR_SINGLE_RECIPIENT | 30 |
| TIMEDMAP_CLEANUP_PER_N_SECOND | 60 |
Content type
Image
Digest
sha256:920a5599f…
Size
7.3 MB
Last updated
over 2 years ago
docker pull relatedbits/smtp-firewall