Ir para conteúdo
Fórum Script Brasil

lucas83mariano

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Tudo que lucas83mariano postou

  1. Ixa, continua a ser um mistério. O q eu to fazendo é, basicamente, "imitando" os movimentos do pessoal q deu o curso porque não teve conceito, introdução, nem nada .. já foi direto na prática com exemplo e passando linhas de códigos q funcionam em 'n' ocasiões com algumas explicações bem pontuais. Por exemplo, não sei a diferença do uso de colchete, chave, parênteses, aspas; ou ainda o q você mencionou de "documentação oficial do módulo" e fazer o encode. Todo o código do def do email, assim como das listas e etc, já foram passadas prontas; daí o pedido d ajuda aqui iria nessa direção tb, ou seja, pensando q viria uma dica d linha d código correta. PS.: tenho consciência q o intuito do curso era ser introdutório .. não atoa ele vendeu o "curso completo" ao final da terceira aula .. o conteúdo é beeeem maior.
  2. Eu notei esse erro, mas não faço idéia de onde possa estar ocorrendo. O curso é no formato intensivão, ou seja, não é detalhado, ou aprofundado. O teste q estou fazendo não é com a planilha q ele usou, porque a dele está redondinha .. eu fui logo pegando arquivo q eu costumava usar no trabalho pra treinar, mas aí foram aparecendo muitos "obstáculos"; e esse é um deles.
  3. Boa tarde a todos. Faz pouco mais de uma semana que vim a conhecer o Python através de um intensivão gratuito q rolou no youtube. Eu ainda estou parado na primeira aula tentando realizar esse envio dos emails. Estou fazendo os testes com uma planilha de excel importada pro python, onde tenho informação de candidatos inscritos e matriculados nos devidos cursos. O teste é fazer uma lista de curso e uma lista de emails (visto q pra cada curso haverá um email diferente para envio), pra então eu disparar esses emails com o resultado de cada curso para seu respectivo coordenador analisar. Estou usando como guia o código disponibilizado pelo pessoal do curso porém está acontecendo um erro q não sei como solucionar; por isso estou aqui pedindo a ajuda. Vou colar abaixo as linhas de códigos e no final o erro (servidor de email será o gmail; estou usando o python no google colab): def enviar_email(resultado, curso, email😞 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_cursos=resultados["Curso"].unique() lista_emails=resultados[["Curso","Email"]].unique() for i, curso in enumerate(lista_cursos): 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,lista_emails[i]) ---------------------------------------------------------- Segue o erro: AttributeError Traceback (most recent call last) <ipython-input-18-c918ce88880e> in <module>() 7 resultado["Resultado_Final"]=((resultado["Matrícula"]/resultado["Inscrição"])*100) 8 ----> 9 enviar_email(resultado,curso,lista_emails[i]) 10 display(resultado) 11 6 frames <ipython-input-14-d1543f8c0239> in enviar_email(resultado, curso, email) 26 # Login Credentials for sending the mail 27 s.login(msg['From'], password) ---> 28 s.sendmail(msg['From'], [msg['To']], msg.as_string().encode('utf-8')) 29 print('Email enviado') /usr/lib/python3.6/email/message.py in as_string(self, unixfrom, maxheaderlen, policy) 156 maxheaderlen=maxheaderlen, 157 policy=policy) --> 158 g.flatten(self, unixfrom=unixfrom) 159 return fp.getvalue() 160 /usr/lib/python3.6/email/generator.py in flatten(self, msg, unixfrom, linesep) 114 ufrom = 'From nobody ' + time.ctime(time.time()) 115 self.write(ufrom + self._NL) --> 116 self._write(msg) 117 finally: 118 self.policy = old_gen_policy /usr/lib/python3.6/email/generator.py in _write(self, msg) 193 meth = getattr(msg, '_write_headers', None) 194 if meth is None: --> 195 self._write_headers(msg) 196 else: 197 meth(self) /usr/lib/python3.6/email/generator.py in _write_headers(self, msg) 220 def _write_headers(self, msg): 221 for h, v in msg.raw_items(): --> 222 self.write(self.policy.fold(h, v)) 223 # A blank line always separates headers from body 224 self.write(self._NL) /usr/lib/python3.6/email/_policybase.py in fold(self, name, value) 324 325 """ --> 326 return self._fold(name, value, sanitize=True) 327 328 def fold_binary(self, name, value): /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' Então, o q estou fazendo de errado?
×
×
  • Criar Novo...