A ver si esto te ayuda:
>>> from email.mime.multipart import MIMEMultipart
>>> msg = MIMEMultipart()
>>> msg['To'] = 'lalala'
>>> p = msg['To','lololo']
Traceback (most recent call last):
File "<stdin>", line 1, in
<module>
File "/usr/lib/python2.7/email/message.py", line 294, in
__getitem__
return
self.get(name)
File "/usr/lib/python2.7/email/message.py", line 360, in
get
name =
name.lower()
AttributeError: 'tuple' object has no attribute
'lower'
>>>
Ese msg['To', bcc] que haces en smtpserver.sendmail(msg['From'], msg['To',
bcc], msg.as_string()) no es correcto... no he usado esto nunca, pero quizás si
creas un array con las dos direcciones funcione. Igual esto también te sirve:
http://stackoverflow.com/questions/1546367/python-how-to-send-mail-with-to-cc-and-bcc
Un saludo.
________________________________
De: Nicolas lino <[email protected]>
Para: [email protected]
Enviado: Miércoles 26 de septiembre de 2012 19:18
Asunto: [Python-es] Problema con smtplib y bcc
Hola, estoy trabajando con un spammer para mi empresa, que manda las facturas
automaticamente, como necesitaria una copia de todos los mails enviados se me
ocurrio enviar con una copia bcc. Pero no hay forma de hacerlo solucionar.
El codigo si no incluyo el bcc funciona barbaro, busque bastante info, y lo que
esta dando vueltas en internet dice que lo aga de esta manera.
bcc = '[email protected]'
x = 0
TXT = cfg.get('msg','texto')
for x in rows:
TUPULA = (x)
TO = TUPULA[1]
TO1 = TUPULA[2]
TO2 = TUPULA[3]
TO3 = TUPULA[4]
TO4 = TUPULA[5]
TO5 = TUPULA[6]
CL = TUPULA[0]
CLI = ("^%s\s-*" % (CL))
for X in MATCH:
if re.match(CLI, X):
FAC = X
if FAC != "":
msg = MIMEMultipart()
msg['Subject'] = cfg.get('msg','subject')
msg['From'] = cfg.get('msg','from')
msg['To'] = TO
msg.preamble = 'Multipart massage.\n'
part = MIMEText("%s" % (TXT))
msg.attach(part)
part = MIMEApplication(open(MT+""+FAC ,"rb").read())
part.add_header('Content-Disposition', 'attachment',
filename="%s" % (FAC))
msg.attach(part)
smtpserver.sendmail(msg['From'], msg['To',
bcc], msg.as_string()) ## si saco el bcc funciona. Pero necesito las copias.
print 'done! Envio a %s' % (TO)
El error es:
Conexion con mysql establecida
Cursor mysql creado
Conexion con server SMTP establecida
listado de facturas ok
Traceback (most recent call last):
File "menuviejo.py", line 31, in <module>
mailcompleto.ENV()
File "/home/oka/mailcompleto.py", line 89, in ENV
smtpserver.sendmail(msg['From'], msg['To',bcc], msg.as_string())
File "/usr/lib/python2.6/email/message.py", line 292, in __getitem__
return self.get(name)
File "/usr/lib/python2.6/email/message.py", line 358, in get
name = name.lower()
AttributeError: 'tuple' object has no attribute 'lower'
menuviejo.py es un mini menu de pruebas que estoy usando, mailcompleto.py es
todo el modulo de envio de mails. ENV es el nombre de la funcion de envio de
mails.
Gracias y saludos.
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/