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

https://github.com/keredson/mailtest

A tool to unit test code that sends email.
https://github.com/keredson/mailtest

Last synced: about 1 year ago
JSON representation

A tool to unit test code that sends email.

Awesome Lists containing this project

README

          

# MailTest
MailTest is a Python unittesting library that for code that sends email. It starts a local SMTP server inside a Python `with` block, and captures all the email sent to it. These emails can then be read within the block.

Example:

```
with mailtest.Server() as mt:
send_welcome_email()
assert len(mt.emails) == 1
```

## Install
```
pip3 install mailtest
```

## Configuration
Configuration is done via kwargs to `mailtest.Server()`. Options:
- `smtp_port` (default: 1025)
- `sendgrid_port` (default: `None`)

## Speed
MailTest can test receive approx. 4000 emails/second on an Intel(R) Core(TM) i5-7260U CPU @ 2.20GHz.

## Testing
```
$ python2 test.py
..
----------------------------------------------------------------------
Ran 2 tests in 0.269s

OK
```
```
$ python3 test.py
..
----------------------------------------------------------------------
Ran 2 tests in 0.543s

OK
```