Skip to content

Latest commit

 

History

History
73 lines (53 loc) · 1.45 KB

README.md

File metadata and controls

73 lines (53 loc) · 1.45 KB

ezmail

Easily customise emails for each recipient. Made for non-programmers.

Requirements

  • Python 3

Running the program

python send.py config.yaml

Customisation

You only have to modify three simple parts:

  1. HTML file for the email body template.
  2. CSV file for the contact list and their customised values.
  3. YAML file for your smtp server details and other metadata.

HTML Template

An example of a simple HTML template is:

Hello ${name},
<br><br>
Congratulations! You won a ${medal} medal!

where name and medal will be substituted by the values in the csv file.

CSV File

The CSV file should at least contain the emails of the recipients. You can add other columns for names, age etc.

name,email,medal
alice,[email protected],Gold
bob,[email protected],Silver

The name and medal column will be substituted into the HTML placeholder.

Important: Header must contain an email column.

YAML File

server:
  host: smtp.gmail.com
  port: 587
  username: [email protected]
  password: randompassword
data:
  contacts: contacts.csv
  template: template.html
email-data:
  from: [email protected]
  cc: [email protected]
  subject: Hello, World!
  attachments:
    - file1.txt
    - file2.txt
    - file3.txt

More on host:

  • If you are sending via Gmail, use smtp.gmail.com
  • If you are sending via Office365, use smtp.office365.com
  • If you are sending via Zoho, use smtp.zoho.com