This is a Python Script to generate certificates and mail them to invidually in Bulk for competetions, workshops, classroom material distribution, etc.
- Clone the repository
git clone https://github.com/scienmanas/CertiMailer
or you can download the zip and extract the files
-
Add the details of the participants in the
names.csv
file before running the program. -
Add the certificate template in the
template
folder. Make sure the template you upload should be names assample.pdf
orsample.png
-
The certificates will be generated in the
certificates
folder and the mails will be sent to the participants
-
Open the
Powershell
and navigate to the cloned/downloaded repository location. -
Run the command
Set-ExecutionPolicy Unrestricted -Scope CurrentUser
- To start the application run the following command in terminal (One time)
.\certimailer.ps1
-
Open the
terminal
and navigate to the cloned/downloaded repository location. -
To start the application run the following command in terminal (One time)
chmod +x certimailer.sh
- To start the script everytime run command
./certimailer.sh
-
For customization change the settings by modifying
settings.py
-
The
names.csv
file should contain the following columns:Name
: Name of the participantEmail
: Email of the participant
-
The
template
folder should contain the certificate template in.png
or in.pdf
format -
Change the
self.MailSenderAddress
andself.Passwords
to your organization Email and Password (App Password) or you can configure it in terminal -
Change the
html_content to your desired redering Content
-
The
font
andfont size
are cutomizable, to chenge uploaad the font inFonts Folder
and chenge the path according to the name incertificate_generator.py
file. -
Number of parametrs that can be printed and be taken as input are also customizable.
-
Don't stop the running the script by
Ctrl + C/X
otherwise the progress of the mail sent will not updated for that run.
This project is licensed under the MIT License - see the LICENSE file for details
The repository is free to use but copying this is strictly prohibited.
- All contributions are welcome
- Fork the repository, improve the code and send pull requests
- If you find any issue, raise an issue
- If you want any new features raise an issue mentioning the same
- This was developed and tested on Linux system, if there are errors while running in any other os, raise an issue mentioning the same.
This project can be configured according with more diverse features such as printing events name too, if you are a coder, you can itself do it by changing the dimensions and functionality of the script.
If you want custom script for your organization, I can do it according to your organization need charging according to the amount of feautures needed. Drop me an email at iamscientistmanas@gmail.com for the same.
- Support for both
.pdf
and.png
templates. - The
names.csv
is automatically updated once the script runs fully. - The script contains timeout time of 60s, so if there is some error while email sending, it will automatically shutdown after timeout time, the emails which are sent correctly is maintained and the
names.csv
is updated automatically after shutting shown of script so that again email is not sent to ther person already sent. - Retry feature for network errors.
- Automatic checking of python, pip and dependencies, the shell script is configured in such a way it will itself install the missing package.
- Notify whether all have been mailed or not at last.
- Multiple inputs taken for customization of printing parametrs e.g.: Printing dates, competitions, names.
- Support for Windows, Linux and Mac systems.
png_app_password_demo.webm
pdf_demo.webm
pdf_coordinates_demo.webm
- Wesites : https://www.i2pdf.com/measure-pdf & https://www.image-map.net/ used for coordinates measurement.
- Customizing different input paramerts by giving user a list a parametrs to use, therefore customizing experince for every user. (Currenlty not working on it, tentative day of release: Feb-March '24) take string with comma for dictionary list.
- Multiple csv support
- Testing functionality to test mail
- All kinds of image(template) support.
- Proper full documenatation. (maintaining a doc folder)