Sto cercando di imparare Python da un libro ("Hello! Python"). Questo codice dovrebbe, secondo il libro, inviare una email. senza fortuna finora.Invio di email tramite email.mime.multipart in 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)
Non ricevo un errore, ma non ricevo neanche un'email. (inutile dire che sto usando la mia vera e-mail, non "[email protected]") Tutti i suggerimenti e le letture suggerite sono apprezzate.
Se si desidera inviare un'e-mail citando qualcuno si dovrebbe cercare un parere legale :-) – BrenBarn
non intendo essere spessa, ma non capisco. Ho qualche errore di battitura? – dwstein
@ dwstein: corretto quello per ya. :-) (trova la differenza nella [cronologia delle revisioni post] (http://stackoverflow.com/posts/12307485/revisions)) –