Skip to content

marian-vignau/certmailer

Repository files navigation

Certificates Mailer

License PyPI Version Twitter Follow GitHub last commit

Automate sending event's certificates by email.

Uses exported information from EventoL, generate certificates in PDF, and mail them to the corresponding receiver.

CheatSheet

Install

virtualenv -p python3 somewhere cd somewhere source bin/activate pip install certmailer

or using fades

fades -d certmailer -x certmail

or add to your ~/.bashrc

certmail() { fades -d certmailer -x certmail $@; }

Usage

Create an account in MailJet, to send SMTP.

Configure

certmail config

Type the api key and the secret key give to you by MailJet service

Create a new job

certmail job new

Add data

Go to the EventoL instance, login, and choose https://eventol.domain.com/admin

Select Activity, Attendees, Collaborators and Installers, and export one by one to yaml format.

Add them using

certmail data add *.yaml

Create the list of recipients

certmail import

this will parse the yaml files exported from EventoL, and create a csv.

Check the list of receivers

certmail edit list

It'll open the default editor on every case.

If you don't want that somebody receives an email, clear «send mail?» cell.

If you want to add some certificate, add yes to the corresponding cell.

And if you don't want to send a certificate, clear the corresponding cell.

Add attachments and edit format

Add attachments using

certmail attach add

Edit email's text part

certmail edit text

Edit email's HTML part

certmail edit html

Edit certificate in InkScape

certmail edit certificate

Run everything

certmail send

This will create the certificates pdf to send, All the information will be stored on the «cache//outbox» directory.

This will send every mail. Every mail sent will be logged.

If for some reason any mail isn't sended, it will

In linux systems, uses memory to store intermediate results, to speed up and to better use hard disks.

certmail send --flag

The flag is used to send only the emails that are flagged in the send column with the word .

Requirements

  • Python 3
  • PyYaml
  • mailjet-rest
  • click

Dev Instructions

git clone git@github.com:marian-vignau/certmailer.git virtualenv env source env/bin/activate pip install -e .

Contributing

  1. Fork it!

  2. Create your feature branch: git checkout -b my-new-feature

  3. Commit your changes: git commit -am 'Add some feature'

  4. Push to the branch: git push origin my-new-feature

  5. Submit a pull request :D

TODO

  • Extend documentation
  • Digital signature

Credits

  • María Andrea Vignau