Estoy tratando de aprender Python de un libro ("Hello! Python"). Este código debería, de acuerdo con el libro, enviar un correo electrónico. sin suerte hasta el momento.Enviando correo electrónico usando email.mime.multipart en Python
import os
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import smtplib
def send_message(message):
s = smtplib.SMTP('smtp.me.com')
s.sendmail(message['From'], message['To'], message.as_string())
s.quit()
def mail_report(to, ticker_name):
outer = MIMEMultipart()
outer['Subject'] = "Stock report for " + ticker_name
outer['From'] = "[email protected]"
outer['To'] = to
# Internal text container
inner = MIMEMultipart('alternative')
text = "Here is the stock report for " + ticker_name
html = """\
<html>
<head></head>
<body>
<p>Here is teh stock report for
<b> """ + ticker_name + """ </b>
</p>
</body>
</html>
"""
part1 = MIMEText(text, 'plain')
part2 = MIMEText(html, 'html')
inner.attach(part1)
inner.attach(part2)
outer.attach(inner)
filename = 'stocktracker-%s.csv' % ticker_name
csv_text = ''.join(file(filename).readlines())
csv_part = MIMEText(csv_text, 'csv')
csv_part.add_header('Content-Disposition', 'attachment', filename=filename), outer.attach(csv_part)
return outer
if __name__ == '__main__':
email = mail_report('[email protected]', 'GOOG')
send_message(email)
No recibo ningún error, pero tampoco recibo un correo electrónico. (No hace falta decir que estoy usando mi correo electrónico real, no '[email protected]'). Se agradecieron todas las sugerencias y sugerencias de lectura.
Si quiere enviar un correo electrónico demandando a alguien, debe buscar asesoramiento legal :-) – BrenBarn
no me refiero a ser grueso, pero no lo entiendo. ¿Tengo algún tipo de error estúpido allí? – dwstein
@dwstein: arreglado eso para ti. :-) (detectar la diferencia en el [historial de revisiones posteriores] (http://stackoverflow.com/posts/12307485/revisions)) –