https://github.com/wil93/mailipy
A handy CLI tool for bulk-sending emails
https://github.com/wil93/mailipy
bulk-email-sender bulk-operation email-sender email-template send-email send-email-with-attachment
Last synced: 3 months ago
JSON representation
A handy CLI tool for bulk-sending emails
- Host: GitHub
- URL: https://github.com/wil93/mailipy
- Owner: wil93
- License: mit
- Created: 2019-11-01T02:02:39.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2025-03-06T04:47:01.000Z (7 months ago)
- Last Synced: 2025-03-27T22:03:38.713Z (7 months ago)
- Topics: bulk-email-sender, bulk-operation, email-sender, email-template, send-email, send-email-with-attachment
- Language: Python
- Homepage:
- Size: 92.8 KB
- Stars: 15
- Watchers: 1
- Forks: 7
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![]()
# Mailipy
This is a software to make the task of sending bulk emails to a list of contacts
easier.## Installation
$ pip install mailipy
In order to send emails, you need to first **generate** them and later **send**
them.## Generating emails
You need to prepare a `template.md` file which must have a _YAML front matter_
(similarly to [what you find in
Jekyll](https://jekyllrb.com/docs/front-matter/)). See the example for the
keywords required in the front matter.The command to create the emails is the following:
$ mailipy-gen template.md contacts.csv
This will create as many emails as there are records in `contacts.csv`. The
emails will be stored in `outbox/` by default. You can use a third parameter to
change the outbox destination folder.## Sending emails
Once you created the emails, run the following command (changing the outbox
directory accordingly):$ mailipy-send mail.example.com:528 my_username outbox
The command will inform you of how many emails are going to be sent, and then
will prompt you for a password.# Contributing
You can make changes to the [`gen.py`](./mailipy/gen.py) and
[`send.py`](./mailipy/send.py) scripts, and test these changes by running a
local version of Mailipy. After testing your changes, you can open a pull
request.## Running a local version of Mailipy
1. Make sure you have [poetry](https://python-poetry.org/) installed in your
system.
2. Run `poetry install` followed by `poetry shell` from the root of the source
directory.
4. Now you can run `mailipy-gen` and `mailipy-send`, and these will include your
local changes. You can verify that you're running a different binary than the
globally installed one by running `which mailipy-gen`: the command will
return the full path of the binary you're using.## Running tests
After installing with `poetry install` and entering the `poetry shell`, run the
following:$ pytest
The command will search recursively for files named `*_test.py` and run them.
See the [pytest documentation](https://docs.pytest.org/en/latest/contents.html).