Skip to main content

A dangerous and probably broken SMTP proxy that attempts to keep you sane

Project description

An SMTP proxy built around inbox.py which attempts to maintain some sanity as your servers begin to send thousands of emails just cause.

The basic premise is emails from a given server or process will happen, but all 1300 aren’t really necessary right this instant. god forbid if you pay by the smtp delivery.

Installation

pip install opstacle

Configuration

opstacle is configured only by environment variables, and our contestants are:

Pretty things

  • OPSTACLE_FROM_ADDRESS
  • Most messages will be simply relayed without modification, but we need our own name when we send rolled up emails
  • Sample Value: “Opstacle opstacle@opstacle.io

Threshold configuration

  • OPSTACLE_INTERVAL
  • Interval to keep counters when messages have been sent, in seconds
  • Sample Value: 30
  • OPSTACLE_MESSAGE_CAP
  • Max number of messages to send in a given OPSTACLE_INTERVAL
  • Sample Value: 5

“Fake” SMTP server (where opstacle will listen)

  • OPSTACLE_LISTEN_HOST
  • Sample Value: “127.0.0.1”
  • OPSTACLE_LISTEN_PORT
  • Sample Value: 9025

“Real” SMTP server

  • OPSTACLE_SMTP_USER
  • Sample Value: “postmaster@smtp.opstacle.org
  • OPSTACLE_SMTP_PASS
  • Sample Value: “stopTheInsanity”
  • OPSTACLE_SMTP_HOST
  • Sample Value: “smtp.opstacle.org”
  • OPSTACLE_SMTP_PORT
  • Sample Value: “587”

Running

Once installed, opstacle can be invoked by calling opstacle.

Logs are spit directly to YOU! Right there on STDOUT, and no you can’t turn them down

Project details


Release history Release notifications

History Node

1.1.0

This version
History Node

1.0.1

History Node

1.0.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
opstacle-1.0.1.tar.gz (4.0 kB) Copy SHA256 hash SHA256 Source None Jan 30, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page