Mail toolkit for PyCon Taiwan
Project description
Mail Handler
Generate emails through the template and send mails. If you are user of Mail Handler, please refer to this docs.
Prerequisite
Usage
This CLI tool is designed as two steps to avoid accidental sending.
Step 1: Install pycontw-mail-handler through pipx (or install in your virtual environment)
# Install pipx
python -m pip install pipx
# Install pycontw-mail-hanlder through pipx
python -m pipx install pycontw-mail-handler
After install pycontw-mail-handler
, you can run render_mail
and send_mail
commands in your environment.
Step 2: Generate mails through the template
render_mail [OPTIONS] TEMPLATE_PATH RECEIVER_DATA
Options:
--mails_path PATH [default: mails_to_sent]
--separator ' TEXT '
--unique_csv PATH
TEMPLATE_PATH
: The path to the jinja2 template.RECEIVER_DATA
: The path to receivers' data.- The following json sample is the least required content. All other data can be added to fit the need of the template.
- "common_data": Common data used in each mail
- "unique_data": Unique content for each mail
{
"common_data": {},
"unique_data": [
{"receiver_email": "somerec@somedomain"}
]
}
Please note the comma is able to be used as a receiver separator to send multiple people. For example, the following 3 formats are all working:
A space following a comma
{
"common_data": {},
"unique_data": [
{"receiver_email": "somerec01@somedomain, somerec02@somedomain"}
]
}
No space following a comma
{
"common_data": {},
"unique_data": [
{"receiver_email": "somerec01@somedomain,somerec02@somedomain"}
]
}
Or mix both of the above two types
{
"common_data": {},
"unique_data": [
{"receiver_email": "somerec01@somedomain, somerec02@somedomain,somerec03@somedomain"}
]
}
--mails_path PATH
: The output path of the mails. The mail will be named as the receivers email address.
Usage example:
render_mail ./templates/sponsorship/spam_sponsors_2020.j2 examples/sponsorship/spam_sponsors_2020.json
Step 3: Send the generated mails
send_mail [OPTIONS] CONFIG_PATH
Options:
--mails_path PATH [default: mails_to_sent]
--attachment_file PATH
CONFIG_PATH
: The path to mail config.
{
"Subject": "some subject",
"From": "somebody@somedomain",
"SenderName": "your name",
"CC": "somebody1@somedomain, somebody2@somedomain"
}
Please note the comma is used as a receiver separator to send multiple people.
--mails_path PATH
: The path of the mails to sent.
Usage example:
send_mail ./examples/sponsorship/spam_sponsors_2020_mail_config.json
By issuing the send_mail.py
command,
you will be prompted to input the corresponding password of your smtp server.
You are about to send the mails under "mails_to_sent". Do you want to continue? [y/N]: y
Using default Gmail SMTP server...
Please enter your mail account: <sender email address in mail config>
Please enter you mail password:
INFO:root:Email sent to <receiver address in RECEIVER_DATA>!
Currently we use smtp server of gmail
as default,
so you may want to use the one-time app password for security concern.
To use gmail one-time app password, please go to
Manage your Goolge Account > Security > Signning to Google > App passwords
and then
Select app > Other
to generate your one-time app password. The generated password could be removed anytime
if you are sure that you won't use it anymore.
If you would like to use specific smtp server, please refer user guide.
Contributing
See Contributing
Authors
Created from Lee-W/cookiecutter-python-template version 1.0.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pycontw-mail-handler-0.7.0.tar.gz
.
File metadata
- Download URL: pycontw-mail-handler-0.7.0.tar.gz
- Upload date:
- Size: 8.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2a89466cbf596b32b34f659e5ffe048c4708b6b01b9d02cbdb0d4ae68fa1508 |
|
MD5 | 4e416a23e8c7521e72ae2744917a3e00 |
|
BLAKE2b-256 | 85ef6fed38dbf44497e3378bccfb6174962faec8f387a1f3b4eb05fd0a5357a7 |
File details
Details for the file pycontw_mail_handler-0.7.0-py3-none-any.whl
.
File metadata
- Download URL: pycontw_mail_handler-0.7.0-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee0a400d0e30999891521a054df2aaf6dbcdbd68de943d33938c45283dad7af6 |
|
MD5 | 51fa96e92753b65d9ec783e210748ea7 |
|
BLAKE2b-256 | 2b0d7ba7c4295f93cfc436e49e886e17182c2bd6421993b61e5e972b51721cd3 |