Generate emails through the template and send mails
This CLI tool is designed as two steps to avoid accidental sending.
python render_mail.py [OPTIONS] TEMPLATE_PATH RECEIVER_DATA
Options:
--mails_path PATH [default: mails_to_sent]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.
python send_mail.py [OPTIONS] CONFIG_PATH
Options:
--mails_path PATH [default: mails_to_sent]
--attachment_file PATHCONFIG_PATH: The path to mail config.
{
"Subject": "some subject",
"From": "somebody@somedomain",
"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.
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
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 only support the smtp server of gmail,
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.
See Contributing