Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kura/blackhole

Blackhole is an MTA written on top of asyncio, utilising async and await statements that dumps all mail it receives to /dev/null.
https://github.com/kura/blackhole

async asynchronous asyncio email mta mta-server python smtp smtp-server smtpd testing testing-tools

Last synced: 12 days ago
JSON representation

Blackhole is an MTA written on top of asyncio, utilising async and await statements that dumps all mail it receives to /dev/null.

Awesome Lists containing this project

README

        

=========
Blackhole
=========

.. image:: https://img.shields.io/github/workflow/status/kura/blackhole/CI?style=for-the-badge&label=tests&logo=githubactions
:target: https://github.com/kura/blackhole/actions/workflows/ci.yml
:alt: Build status of the master branch

.. image:: https://img.shields.io/codecov/c/github/kura/blackhole/master.svg?style=for-the-badge&label=coverage&logo=codecov
:target: https://codecov.io/github/kura/blackhole/
:alt: Test coverage

Blackhole is an `MTA (message transfer agent)
`_ that (figuratively)
pipes all mail to /dev/null, built on top of `asyncio
`_ and utilises `async def `_
and `await
`_ statements
available in `Python 3.5 `_.

While Blackhole is an MTA, none of the actions performed via SMTP or SMTPS are
actually processed, and no email is 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.

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 support
==============

- Python 3.7+
- PyPy 3.7+
- Pyston 2.2+

Documentation
=============

You can find the latest documentation `here
`_.

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

The latest build status on GitHub ``_.

And the test coverage report on `codecov
`_.

Changelog
=========

You can find a list of changes `on the
blackhole website `_.