Clone de mala direta do Planilhas Google usando Python
Olá a todos
Índice
- Introdução
- Passos
- Conclusão
Acabei de passar esta semana fazendo um projeto e o concluí com sucesso agora. Eu nomeei o projeto Google Sheets Mail Merge Clone. Este projeto é um clone do Mail Merge, que é uma das extensões nas planilhas do Google.
Uma mala direta em planilhas do google obtém valores de linhas de uma planilha ou outra fonte de dados e os insere em um documento de modelo . Isso permite criar um único documento “mestre” (o modelo) a partir do qual você pode gerar muitos documentos semelhantes, cada um personalizado com os dados que estão sendo mesclados. (do Google Developers )
Acabei de fazer um clone dessa funcionalidade usando Python. Você pode encontrar isso abaixo,
Este artigo é apenas para mostrar como usar este projeto em sua máquina. Siga todos os passos cuidadosamente para evitar erros desnecessários.
Vamos começar,
PASSO 1
Clone este projeto usando o comando abaixo em seu terminal.
git clone https://github.com/gowthamr56/Google-Mail-Merge-Clone.git
Instale os módulos necessários no requirements.txtarquivo usando o comando abaixo em seu terminal.
pip install -r requirements.txt
Certifique-se de que você criou .envo arquivo. O .envarquivo é usado para armazenar variáveis ambientais e definitivamente deve conter duas coisas, uma é um endereço de e-mail de login e senha (use senhas de aplicativos em vez de usar uma senha real) como abaixo,
login_email="--YOUR EMAIL ADDRESS--"
login_passwd="--YOUR EMAIL PASSWORD--"
Em seguida, crie uma planilha do Google e a planilha do Google deve conter Receiveruma coluna que contenha os endereços de e-mail do destinatário. O URL da planilha do Google deve estar disponível publicamente. Para tornar o URL público, clique em compartilhar -> Acesso geral -> Qualquer pessoa com um link.
PASSO - 5
Em seguida, você precisa criar um arquivo HTML ou TEXT que contenha o corpo do e-mail. Aqui, você pode usar espaços reservados (por exemplo: {first_name}, {last_name}…) para generalizar os e-mails de acordo com o destinatário. Porém, a planilha do Google deve conter as colunas com o mesmo nome que os espaços reservados. O exemplo de arquivo de texto/HTML deve ser assim,
<h3>Hello, Everyone</h3><p>I am a Gowtham. I am a curious Python Programmer, Blogger. I write blogs on <a href='medium.com/@gowtham180502'>medium</a> occasionally. To know more about me, then checkout <a href='gowtham.streamlit.app'>here</a></p>
O processo está meio feito. Agora, abra seu terminal/CMD e digite o comando abaixo para executar o script,
python automate_emails.py "GOOGLE SHEET URL" "EMAIL SUBJECT" "HTML/TEXT FILE PATH"
Você também pode especificar alguns argumentos opcionais. Por exemplo,
- para especificar e-mails BCC
python automate_emails.py "GOOGLE SHEET URL" "EMAIL SUBJECT" "HTML/TEXT FILE PATH" -bcc "[email protected]" "[email protected]" ...
python automate_emails.py "GOOGLE SHEET URL" "EMAIL SUBJECT" "HTML/TEXT FILE PATH" -cc "[email protected]" "[email protected]" ...
python automate_emails.py "GOOGLE SHEET URL" "EMAIL SUBJECT" "HTML/TEXT FILE PATH" -a "file1" "file 2" ... --OR--
python automate_emails.py "GOOGLE SHEET URL" "EMAIL SUBJECT" "HTML/TEXT FILE PATH" --attach "file1" "file 2" ...
python automate_emails.py --help
usage: automate_emails.py [-h] [-cc CC [CC ...]] [-bcc BCC [BCC ...]] [-a ATTACH [ATTACH ...]] link subject content
This project is a clone of Mail Merge which is one of the extensions in google sheets using Python.
positional arguments:
link expects google sheet public url
subject expects subject for the email
content expects text/HTML file path that contains message body
options:
-h, --help show this help message and exit
-cc CC [CC ...] expects email addresses for Carbon Copy (CC)
-bcc BCC [BCC ...] expects email addresses for Blind Carbon Copy (BCC)
-a ATTACH [ATTACH ...], --attach ATTACH [ATTACH ...]
expects file locations
Vejo vocês em outro blog até lá tchau





































![O que é uma lista vinculada, afinal? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)