https://github.com/miketheman/unsilencer
Tool to remove suppressions from MailGun
https://github.com/miketheman/unsilencer
mailgun mailgun-api python python3
Last synced: 6 months ago
JSON representation
Tool to remove suppressions from MailGun
- Host: GitHub
- URL: https://github.com/miketheman/unsilencer
- Owner: miketheman
- Created: 2018-12-22T00:32:30.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-07-25T23:52:13.000Z (about 2 years ago)
- Last Synced: 2025-04-09T17:05:01.902Z (6 months ago)
- Topics: mailgun, mailgun-api, python, python3
- Language: Python
- Homepage: https://miketheman.github.io/unsilencer/
- Size: 88.9 KB
- Stars: 3
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# unsilencer
A tool to interact with [MailGun](https://www.mailgun.com/)'s
[API](https://documentation.mailgun.com/en/latest/api_reference.html) to handle
[suppressions](https://help.mailgun.com/hc/en-us/articles/360012287493-What-are-Mailgun-Suppressions-).[](https://github.com/ambv/black)
Takes an email address as an input, checks to see if the address appears on these lists:
- unsubscribes
- complaints
- bouncesIf the address appears, it will then be removed from each list.
## Requirements
- [Python](https://www.python.org/) 3.7
- [Pipenv](https://github.com/pypa/pipenv)## Installation
git clone https://github.com/miketheman/unsilencer.git
cd unsilencer/
pipenv install
# Alternately, if you want to develop the code:
pipenv install --dev## Configuration
Set environment variables:
- `MAILGUN_API_KEY` - see [docs](https://documentation.mailgun.com/en/latest/api-intro.html#authentication). Looks like: `key-`
- `MAILGUN_DOMAIN_NAME` - the domain owning the suppression lists being checked## Usage
Once installed and configured, execute via `pipenv`:
pipenv run python unsilencer.py foo@bar.com
Alternately, enter Pipenv's environment and execute:
pipenv shell
python unsilencer.py foo@bar.com## Development
Uses [pytest](https://pytest.org/) test suite, with a bunch of plugins to help with code quality.
Execute tests:
pipenv run pytest
Read a blog from [PyBites](https://pybit.es/pytest-coding-100-tests.html) if you're unfamiliar with pytest!
Testing the **tests** can be executed via:
pipenv run mutmut run
Read more about [mutmut](https://mutmut.readthedocs.io/)!
## Authors
- [Mike Fiedler](https://github.com/miketheman)