Este projeto demonstra como gerar um PDF a partir de um template HTML e enviá-lo como anexo em um e-mail utilizando Python. Utiliza as bibliotecas pdfkit
, jinja2
, e smtplib
para criar e enviar o relatório.
- Clone o repositório:
https://github.com/lorenzouriel/generate-template-and-send-email.git
cd generate-template-and-send-email
- Configure a versão correta do Python com
pyenv
:
pyenv install 3.11.5
pyenv local 3.11.5
- Instale as dependência:
pip install -r requirements.txt
- Além disso, você deve ter o executável wkhtmltopdf instalado no seu sistema. Baixe o wkhtmltopdf e atualize o caminho do executável no código.
project/
│
├── templates/
│ └── template.html
├── output/
│ └── relatorio.pdf
└── main.py
templates/template.html
: Arquivo HTML utilizado como template para o PDF.output/relatorio.pdf
: PDF gerado a partir do template.main.py
: Script Python que gera o PDF e envia o e-mail.
- Atualize o caminho para o executável wkhtmltopdf no seu sistema:
path_wkhtmltopdf = r'C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe'
- Atualize as configurações do servidor SMTP com suas informações:
from_addr = 'user@gmail.com'
to_addr = 'user@gmail.com'
password = 'your_password'
-
Crie um arquivo
template.html
na pastatemplates/
com o conteúdo HTML desejado. -
Execute o script Python para gerar o PDF e enviar o e-mail:
python main.py
This project demonstrates how to generate a PDF from an HTML template and send it as an attachment in an email using Python. Use the pdfkit
, jinja2
, and smtplib
libraries to create and send the report.
- Clone the repository:
https://github.com/lorenzouriel/generate-template-and-send-email.git
cd generate model and send email
- Configure the correct Python version with
pyenv
:
pyenv 3.11.5 installation
pyenv local 3.11.5
- Install dependencies:
pip install -r requirements.txt
- Also, you must have the new wkhtmltopdf installed on your system. Download wkhtmltopdf and update the path of the following in the code.
project/
│
├── models/
│ └── template.html
├── exit/
│ └── report.pdf
└── main.py
templates/template.html
: HTML file used as a template for the PDF.output/relatorio.pdf
: PDF generated from the template.main.py
: Python script that generates the PDF and sends the email.
- Update the path to the new wkhtmltopdf on your system:
path_wkhtmltopdf = r'C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe'
- Update the SMTP server settings with your information:
from_addr = 'usuario@gmail.com'
to_addr = 'usuario@gmail.com'
password = 'your_password'
-
Create a
template.html
file in thetemplates/
folder with the desired HTML content. -
Run the Python script to generate the PDF and send the email:
python main.py