Inviare email con Python
Python, come molti altri linguaggi, include librerie e classi per l'invio di email tramite protocollo SMTP.
Il modulo si chiama smtplib, ed è molto semplice da usare.
Quella che useremo noi è l'oggetto integrata SMTP, il cui costruttore richiede:
- host -> l'host del server SMTP
- port -> la porta di ascolto del server STMP
- local_hostname -> se il server SMTP gira in locale
Poi useremo la funzione sendemail, che come al solito necessità di un sender, un receivers e un message.
Vediamo un esempio:
import smtplib
sender = 'from@fromdomain.com'
receivers = ['to@todomain.com']message = """From: From Person
To: To Person
Subject: SMTP e-mail testThis is a test e-mail message.
"""try:
smtpObj = smtplib.SMTP('localhost')
smtpObj.sendmail(sender, receivers, message)
print "Successfully sent email"
except SMTPException:
print "Error: unable to send email"
Questo un esempio con testo in formato semplice.
Se invece volessimo mandare il testo in formato HTML, basterà modificare l'heade specificando il MIME type:
message = """From: From Person <from@fromdomain.com>
To: To Person <to@todomain.com>
MIME-Version: 1.0
Content-type: text/html
Subject: SMTP HTML e-mail testThis is an e-mail message to be sent in HTML format
This is HTML message.
This is headline.
"""
Per il resto il codice è uguale.
Ciao!
python smtp sendemail smtplib
1 Commenti
Bella guida, Grazie :)
25/01/2018