Pesquisar na Comunidade
Mostrando resultados para as tags ''emails''.
Encontrado 5 registros
-
Olá a todos. Estou estudando VBA a pouco tempo, e estou fazendo um projeto de planilha solicitando que os funcionários PJ emitam as notas. Eu preciso enviar para o funcionário um e-mail com valor a receber, referente ao dia dos serviços prestados, e quando ele deve emitir a nota. O primeiro comando da programação é que SE a célula E ="valor" estiver vazia, não enviará o e-mail. Com a célula preenchida, ele seleciona o outlook app, coloca destinatário do e-mail, cc, título, imagem de corpo e texto. Porém eu preciso criar um novo SE - caso a célula G = "devolução" estiver preenchida, ele vai adicionar mais uma parte em texto ao corpo do e-mail. Não consigo fazer isso de jeito nenhum. Outro problema que tenho também é que ao colocar em Display, ele passa por todos os e-mails que precisam ser exibidos e termina no último e-mail, em uma unica aba. Exemplo, se eu tiver 10 e-mails pra mandar, ele vai exibir todos os emails rapidamente em uma guia só, e não abrir 10 guias; Coloco a programação aqui e a planilha em anexo para quem puder me ajudar. (obviamente as imagens no corpo do e-mail não funcionarão pois estão apontando o caminho da minha máquina) Agradeço desde já Sub Enviar_Email() Dim OutlookApp As Object Dim OutlookMail As Object Set OutlookApp = CreateObject("Outlook.Application") Set OutlookMail = OutlookApp.createitem(0) Dim png As String On Error Resume Next For linha = 1 To 5 If Teste.Range("E" & linha + 4).Value <> "" Then With OutlookMail .To = Teste.Range("C" & linha + 4).Value .CC = "recursoshumanos@empresa.com" & " financeiro@empresa.com" .Subject = "NF | Trabalho PJ - " & Teste.Range("B" & linha + 4).Value png = ThisWorkbook.Sheets("PJ").Range("H" & linha + 4).Value texto1 = "<body style = font-size:12pt>" & "Olá " & Teste.Range("B" & linha + 4).Value & ", tudo bem?" & "<br>" & "Segue abaixo suas participações no período de: " & Teste.Range("D" & linha + 4).Value texto2 = "<body style = font-size:14pt>" & "Valor:<b><u> R$" & Teste.Range("E" & linha + 4).Value & ",00 </b></u>" & "<br>" texto3 = "<body style = font-size:12pt>" & "Estando corretas, favor me encaminhar a NF entre os dias <b><u> " & Teste.Range("F" & linha + 4).Value & "</b></u>." texto4 = "<body style = font-size:12pt>" & "Cumprindo acordo, estamos descontando <b>R$ " & Teste.Range("G" & linha + 4) & ",00 </b> do seu pagamento, tudo bem?" texto5 = "<body style = font-size:12pt>" & "Se precisar de mim, sigo a disposição." & "<br>" & "Abraços," .htmlbody = texto1 & "<br><br>" & "<img src=" & Chr(34) & png & Chr(34) & ">" & "<br><br>" & texto2 & "<br>" & texto3 & "<br><br>" & texto5 .display End With End If Next linha On Error GoTo 0 Set OutlookApp = Nothing Set OutlookMail = Nothing End Sub ------------ Já tentei If Teste.Range("G" & linha + 4).Value = "" Then .htmlbody = texto1 & "<br><br>" & "<img src=" & Chr(34) & png & Chr(34) & ">" & "<br><br>" & texto2 & "<br>" & texto3 & "<br><br>" & texto5 Else .htmlbody = texto1 & "<br><br>" & "<img src=" & Chr(34) & png & Chr(34) & ">" & "<br><br>" & texto2 & "<br>" & texto3 & "<br>" & texto4 & "<br><br>" & texto5 E não foi... Sempre dá erro no With, no If, etc. ENVIEI UM GIF COM O PROBLEMA DO E-MAIL LInk pra Planilha: https://drive.google.com/file/d/1jpKBmdmnTMUIKZNx9I7pJI31vdpFgV8e/view?usp=sharing
-
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?
-
"Este e meu codigo ate o primeiro momento, esse primeiro sub e do botão enviar, minha macro deveria, enviar um email para o destinatario q estaria presente na coluna 1 , toda vez q o status da coluna 6 mudasse para para Realizar compra, com apenas as as suas linhas respectivas (couluna(2) a (6)); seria isso galera. Sub Enviar() Dim EnviarPara As String Dim Mensagem As String EnviarPara = ThisWorkbook.Sheets(1).Cells(i, 1) Mensagem = ThisWorkbook.Sheets(1).Cells(i, 3) Envia_Emails EnviarPara, Mensagem End If End Sub Private Sub Worksheet_Change(ByVal Target As Range) Dim OutApp As Object Dim OutMail As Object Dim texto As String Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0) linha = ActiveCell.Row - 1 If Target.Address = "$F$" & linha Then If Plan1.Cells(linha, 6) = "Realizar Compra" Then texto = "Prezado(a) " & Plan1.Cells(linha, 1) & "." & vbCrLf & vbCrLf & _ "O estoque atual e semanal consta: " & Plan1.Cells(linha, 2) & Plan1.Cells(linha, 3) & Plan1.Cells(linha, 4) & Plan1.Cells(linha, 5) & Plan1.Cells(linha, 6) & _ "Rafael. INF" & vbCrLf End If
-
Sistema basico de cadastro e listar emails separados por ;
uma questão postou Alan Arnese Visual Basic
Bom diaEstou desenvolvendo um sisteminha simples no excel mas chegou em uma etapa que está me dando dor de cabeça Eu carreguei 4 municípios em uma combo box , e agora baseado no município escolhido ele vai listar todos os emails do mesmo abaixo separados por ; em textoVejam que atrás está o banco de dados e vou listar todos os emails da coluna B que foram cadastrados tendo somente esse filtro de listar somente os emails do município escolhido, o sistema de cadastro está 100% e só falta issoO resultado ficaria por exemploemail1@email.com;email2@email.com;email3@email.com;email4@email.com; (e assim por diante) 1)como pegar o campo de texto dos 4 municipios da planilha e fazer as verificações if/else para listar corretamente 2)qual o comando para listar os dados 3)como colocar ; após cada resultado apresentado Alguém poderia me dar uma luz de como fazer isso? Agradeço desde já -
Olá pessoal da Script Brasil , Desenvolvi um software que envia e-mail para usuários. Então modifiquei a linha: IdMessage.Recipients.EMailAddresses := EdtEmail.Text; (Essa linha fica o e-mail do usuário) para esta: IdMessage.Recipients.EMailAddresses := Memo2.Lines.Text; Então, eu consigo enviar o email para vários destinarios ao mesmo tempo porem os emails ficam da seguinte forma: email@hotmail.com;email2@hotmail.com;email3@hotmail.com;email4@hotmail.com; Porem se eu deixo dessa forma para envio eles não envia da falha : email@hotmail.com; email2@hotmail.com; email3@hotmail.com; email4@hotmail.com; alguém poderia me da um HELP de como deixa um embaixo do outro para envio? Abraçooooooos!