Ir para conteúdo
Fórum Script Brasil
  • 0

Enviar email para mais de uma pessoa no TO


maralc

Pergunta

Pessoal,

eu tenho o seguinte código:

#! /usr/bin/env python

# coding: latin-1

import sys,datetime,time,os

#########################################

import smtplib

from email.MIMEMultipart import MIMEMultipart

from email.MIMEBase import MIMEBase

from email.MIMEText import MIMEText

from email.Utils import COMMASPACE, formatdate

from email import Encoders

#######################################

#Função email

def sendMail(to,subject, text, files=[],Cc=[],server=smtp.embratel.com.br"):

assert type(to)==list

assert type(Cc)==list

assert type(files)==list

COMMASPACE = ', '

fro = "Teste <teste@teste.com.br>"

msgRoot = MIMEMultipart()

msgRoot['From] = fro

msgRoot['To'] = COMMASPACE.join(to)

msgRoot['Cc'] = COMMASPACE.join(Cc)

msgRoot['Date'] = formatdate(localtime=True)

msgRoot['Subject'] = subject

msgRoot.preamble = 'Esta mensagem é Multi-partes no formato MIME.'

msgAlternative = MIMEMultipart('alternative')

msgRoot.attach(msgAlternative)

#msgRoot.attach( MIMEText(text) )

msgText = MIMEText('Essa é uma mensagem alternativa de texto comum.')

msgAlternative.attach(msgText)

msgText = MIMEText(text, 'html')

msgAlternative.attach(msgText)

for file in files:

part = MIMEBase('application', "octet-stream")

part.set_payload( open(file,"rb").read() )

Encoders.encode_base64(part)

part.add_header('Content-Disposition', 'attachment; filename="%s"'

% os.path.basename(file))

msgRoot.attach(part)

smtp = smtplib.SMTP(server)

smtp.sendmail(fro, to, msgRoot.as_string() )

smtp.close()

#inicio do programa

toaddrs = sys.argv[1] #Destino

subject = sys.argv[2] #Assunto

msg = sys.argv[3]

sendMail([toaddrs],subject,msg)

print "Email enviado"

Funciona bem, porém quando eu coloco mais de um email ele só envia pro primeiro. como resolvo isso?

eu digito no shel desse jeito: ./mail 'para@teste.com.br, para2@teste.com.br' 'teste' 'texto'

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Acredito que para você enviar para vários destinatários, você tenha q colocar cada email entre <>

Ao invés de 'para@teste.com.br, para2@teste.com.br', tente '<para@teste.com.br>, <para2@teste.com.br>'

Outra sugestão: você também poderia enviar um email por vez, criando uma lista de emails (com um comando "split", rachando por vírgulas) e iterando em cada email.

AT+ :rolleyes:

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...