Skip to content

Blackhole is an MTA written on top of asyncio, utilising async and await statements.

License

Notifications You must be signed in to change notification settings

gitter-badger/blackhole

 
 

Repository files navigation

Blackhole

About

Blackhole is an MTA (message transfer agent) that (figuratively) pipes all mail to /dev/null.

Blackhole is built on top of asyncio and utilises async def and await statements available in Python 3.5 and above.

While Blackhole is an MTA (mail transport agent), none of the actions performed via SMTP or SMTPS are actually processed and no email or sent or delivered.

You can tell Blackhole how to handle mail that it receives. It can accept all of it, bounce it all or randomly do either of those two actions. No matter how you choose to configure it, the email is never actually delivered, it just appears to have been delivered or bounced.

Think of Blackhole sort of like a honeypot in terms of how it handles mail, but it's specifically designed with testing in mind.

Python < 3.5

The original incarnation of Blackhole -- built on top of Tornado -- is still available for use on Python versions lower than 3.5, including PyPy.

It is no longer maintained however, but is available for posterity's sake on PyPI and GitHub.


Latest version released on PyPi Build status of the master branch Test coverage Chat on Gitter


Why?

Blackhole was first built when I was working on a project that required me to be able to send/receive millions of emails per minute. As the sender was being prototyped, I quickly realised that any mail server I pointed it at would fall over due to the stess -- thus blackhole was born.

Documentation

You can find the latest documentation here.

If you would like to contribute, please read the contributors guide.

The latest build status on travis.

And the test coverage report on codecov.

About

Blackhole is an MTA written on top of asyncio, utilising async and await statements.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 97.2%
  • Shell 2.0%
  • Makefile 0.8%