De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Felipe Santos
Data de Publicação: 05 de agosto de 2015
Recentemente publiquei uma dica no site: "Automatizando o envio de emails utilizando Python", devido a uma dúvida de um leitor do Dicas-L resolvi a postar outro código pra vocês.
O script seria basicamente para ler uma lista CSV de emails e enviar um email para todos contantos contidos nela, juntamente com um arquivo anexo.
#!/usr/bin/python import smtplib from email.MIMEMultipart import MIMEMultipart from email.MIMEBase import MIMEBase from email.MIMEText import MIMEText from email import Encoders import os import csv texto_msg = ''' Presado usuario(a) %(nome)s !!! Este e um email enviado por um script PYTHON =D, seu email deve ficar aqui!! ''' user = "seuemail@gmail.com" pwd = "sua_senha" anexo = "/home/felipe/anexo.txt" #Caminho do anexo a ser enviado def process(row, to, subject, text, attach): msg = MIMEMultipart() msg['From'] = user msg['To'] = row[0] msg['Subject'] = subject msg.attach(MIMEText(text)) part = MIMEBase('application', 'octet-stream') part.set_payload(open(attach,'rb').read()) Encoders.encode_base64(part) part.add_header('Content-Disposition', 'attachment; filename="%s"' % os.path.basename(attach)) msg.attach(part) mailServer = smtplib.SMTP("smtp.gmail.com", 587) mailServer.ehlo() mailServer.starttls() mailServer.ehlo() mailServer.login(user, pwd) mailServer.sendmail(user, to, msg.as_string()) mailServer.close() if __name__ == '__main__': lista = open('/home/felipe/lista.csv') #Caminho da lista de email CSV csv_reader = csv.reader(lista) for row in csv_reader: process(row, user,"Enviando Email com Python", texto_msg % {'nome':row[1]}, anexo) lista.close()
A lista de email está no seguinte formato:
"email1@meuemail.com","Felipe" "email2@meuemail.com","Maria" "email3@meuemail.com","Joao" . . .
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários