Re: [python-brasil] Dúvida sobre envio de email para vários destinatários com assuntos distintos

277 views
Skip to first unread message

Jocimar Oliveira

unread,
Feb 12, 2021, 12:56:40 PM2/12/21
to python...@googlegroups.com
Olá Lucas,

Esta dúvida ele respondeu no início da segunda aula do intensivo.

Última aula do intensivã de 11/fev/21 (Disponível até 11/fev/21 às 19:00 hrs): https://www.youtube.com/watch?v=N9CfV5xtvCQ&feature=youtu.be
Google drive com apostilas e arquivos necessários de cada aula estão no link: https://drive.google.com/drive/folders/1VXZVUANaIHyBb1i4bW613eceUjHPIqdb

Baixe a apostila da aula 1 e veja na página 45 a solução para esta questão.

lira.png

Obs.: Iniciei estudos do Python há 15 dias.

Jocimar Oliveira

At.te,
_________________________________________________
Jocimar Oliveira
Desenvolvedor de Software há 32 anos
Profissional Liberal


Em qui., 11 de fev. de 2021 às 19:27, Lucas Mariano <yeah...@gmail.com> escreveu:
Boa tarde a todos.

Comecei a conhecer o Python devido ao "Intensivão" do Lira, amplamente divulgado no youtube recentemente.

Na primeira aula ele ensina a importar uma tabela de vendas, do excel, contendo várias linhas e colunas com nomes de empresas, quantidade de vendas por produto, valor de cada produto e valor final.

Então ele vai ensinando a fazer uma tabela de faturamento, tabela de quantidade, tabela de ticket médio para, então, ensinar a enviar os emails com as tabelas necessárias. Ele chega a ensinar a montar uma lista de lojas, uma tabela de lojas tb, q seria uma tabela pra cada loja específica, porém ficou faltando ele ensinar o envio desses resultados para vários destinatários diferentes e de forma independente (na aula ele sempre enviava os 25 emails, com tabelas diferentes para o mesmo destinatário, no momento do teste).

Ele argumenta, várias vezes na aula, que o python consegue filtrar as informações dos códigos, e enviar 'n' emails em fração de segundos mas faltou essa explicação, pq não faz sentido eu enviar um email para a empresa 'x' contendo os resultados da empresa 'y', da mesma forma fica impraticável eu ter q rodar o código sempre q alterar o nome da loja pra ter a tabela_loja específica, e então digitar o email destinatário da loja e assim por diante.

Não sei se estou conseguindo ser claro na dúvida, e tb não sei se deveria trazer mais alguma informação aqui pra conseguir a ajuda d alguém .. é tudo novidade por enquanto.

--
--
------------------------------------
Grupo Python-Brasil
https://wiki.python.org.br/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/python-brasil/6a6bff4b-8dcd-4f4a-988d-7a0063f115d0o%40googlegroups.com.

Lucas Mariano dos Santos Peres

unread,
Feb 12, 2021, 3:08:23 PM2/12/21
to Python Brasil
Muito obrigado pela orientação.
Eu não quis ir adiante nos vídeos enquanto não conseguisse treinar, d forma consistente, o primeiro dia e me vi travado nessas dúvidas. Acho q vou assistir aos 4 vídeos antes pra dpois cair em cima dos testes, então.

PS.: Eu acabei duplicando a dúvida aqui no fórum .. parece q rola um delay do momento em q eu posto até o momento em q ele aparece no fórum.

Lucas Mariano dos Santos Peres

unread,
Feb 12, 2021, 3:19:17 PM2/12/21
to Python Brasil
Olhei aqui na minha apostila e não tem essa info na página 45. Será q isso ele não teria disponibilizado pra quem comprou aquele pacote?

Jocimar Oliveira

unread,
Feb 13, 2021, 6:59:10 AM2/13/21
to python...@googlegroups.com
Ele disponibilizou uma apostila atualizada no dia seguinte.
Acesse o link do Google Drive que coloquei no e-mail anterior, e baixe
novamente.

At.te,
_________________________________________________
Jocimar Oliveira
Desenvolvedor de Software há 32 anos
Profissional Liberal

Em sex., 12 de fev. de 2021 às 17:19, Lucas Mariano dos Santos Peres
<lucas83...@gmail.com> escreveu:
>
> Olhei aqui na minha apostila e não tem essa info na página 45. Será q isso ele não teria disponibilizado pra quem comprou aquele pacote?
>
> --
> --
> ------------------------------------
> Grupo Python-Brasil
> https://wiki.python.org.br/AntesDePerguntar
>
> <*> Para visitar o site do grupo na web, acesse:
> http://groups.google.com/group/python-brasil
>
> <*> Para sair deste grupo, envie um e-mail para:
> python-brasi...@googlegroups.com
> ---
> Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
> Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
> Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/python-brasil/143e22d7-2756-4114-8efe-70bf22179ddfo%40googlegroups.com.

Lucas Mariano dos Santos Peres

unread,
Feb 13, 2021, 11:26:55 AM2/13/21
to Python Brasil
Pois é, não está mais lah. Olhei ontem e hoje e até enviei email pra ele pra ver se ele atualizava.

Lucas Mariano dos Santos Peres

unread,
Feb 17, 2021, 11:30:25 AM2/17/21
to Python Brasil
A dúvida persiste.
O Lira não postou a apostila, então o q eu fiz foi assistir ao início da segunda aula onde ele só fala q atualizou a planilha; fui pausando e digitando as informações no Word e dpois tentei escrever o código mas tá dando o seguinte erro:

/usr/lib/python3.6/email/_policybase.py in _fold(self, name, value, sanitize)
    367             if self.max_line_length is not None:
    368                 maxlinelen = self.max_line_length
--> 369             parts.append(h.encode(linesep=self.linesep, maxlinelen=maxlinelen))
    370         parts.append(self.linesep)
    371         return ''.join(parts)

AttributeError: module 'email' has no attribute 'encode'

Segue,  a seguir, os códigos q tô usando - lembrando que foi adicionada a coluna Email no dataframe.

def enviar_email(resultadocursoemail):
  import smtplib
  import email.message

  server = smtplib.SMTP('smtp.gmail.com:587')  
  corpo_email = f"""
  <p>Teste de e-mail</p>
  <p>Segue o relatório</p>

  {resultado.to_html()}

  <p>Att.</p>
  <p>Lucas Mariano</p>
  """ #vamos editar
    
  msg = email.message.Message()
  msg['Subject'] = f"Relatório de Matriculados - {curso}" #vamos editar
  msg['From'] = '' #vamos editar
  msg['To'] = email
  password = '' #vamos editar
  msg.add_header('Content-Type''text/html')
  msg.set_payload(corpo_email )
    
  s = smtplib.SMTP('smtp.gmail.com: 587')
  s.starttls()
  # Login Credentials for sending the mail
  s.login(msg['From'], password)
  s.sendmail(msg['From'], msg['To'], msg.as_string().encode('utf-8'))
  print('Email enviado')

------------------------------------------------------------------------------------
#lista de curso e de email
curso=resultados["Curso"].unique()
email=resultados["Email"].unique()

for i, curso in enumerate(curso):
  resultado = resultados.loc[resultados["Curso"] == curso,["Curso","Inscrição","Matrícula","Email"]]
  resultado = resultado.groupby("Curso").sum()
  resultado["Resultado_Final"]=((resultado["Matrícula"]/resultado["Inscrição"])*100)
  enviar_email(resultado, curso, email[i])

------------------
O que estou fazendo de errado?

Jocimar Oliveira

unread,
Feb 17, 2021, 12:16:17 PM2/17/21
to python...@googlegroups.com
Lucas,

Ele atualizou a apostila no dia após a primeira aula, e eu postei aqui
a parte da apostila para esta dúvida.
No intensivão ele deixou claro que cada aula ficaria até o próximo dia
até às 19:00 hrs, e foi isto que aconteceu, ele cumpriu.

Quanto ao material usado nas aulas, ele deixou tudo disponível até às
19:00 hrs após 1 dia da última aula.

At.te,
_________________________________________________
Jocimar Oliveira
Desenvolvedor de Software há 32 anos
Profissional Liberal

At.te,
_________________________________________________
Jocimar Oliveira
Desenvolvedor de Software há 32 anos
Profissional Liberal


Em qua., 17 de fev. de 2021 às 13:30, Lucas Mariano dos Santos Peres
<lucas83...@gmail.com> escreveu:
>
> --
> --
> ------------------------------------
> Grupo Python-Brasil
> https://wiki.python.org.br/AntesDePerguntar
>
> <*> Para visitar o site do grupo na web, acesse:
> http://groups.google.com/group/python-brasil
>
> <*> Para sair deste grupo, envie um e-mail para:
> python-brasi...@googlegroups.com
> ---
> Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
> Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
> Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/python-brasil/a3968a1c-38e9-42a0-976d-6a123bc8ff95o%40googlegroups.com.

Lucas Mariano dos Santos Peres

unread,
Feb 17, 2021, 12:21:59 PM2/17/21
to Python Brasil
Ele respondeu aos meus emails prometendo atualizar o link mas não o fez. Sempre q entro no link está faltando apenas o PDF; porém a minha solicitação aqui no fórum não é sobre o PDF dele e sim a dúvida descrita.

Consegue me ajudar?

Lucas Mariano dos Santos Peres

unread,
Feb 17, 2021, 12:55:09 PM2/17/21
to Python Brasil
Só pra matar de vez esse assunto aí da apostila .. ele acabou d me enviar um email falando pra acessar o link pelo Chrome, eu estava usando o Mozilla; entrei no link e funcionou.

Tb vi q o Jocimar me enviou por anexo, portanto obrigado.
Reply all
Reply to author
Forward
0 new messages