El protocol simple de transferència de correu (SMTP) s'utilitza com a protocol per gestionar la transferència de correu electrònic mitjançant Python. S'utilitza per encaminar correus electrònics entre servidors de correu electrònic. És un protocol de capa d'aplicació que permet als usuaris enviar correu a un altre. El receptor recupera el correu electrònic mitjançant els protocols POP (Protocol d'oficina postal) i IMAP (Internet Message Access Protocol) .
Kat timpf
Quan el servidor escolta la connexió TCP d'un client, inicia una connexió al port 587.
Python proporciona a smtplib mòdul, que defineix un objecte de sessió de client SMTP utilitzat per enviar correus electrònics a una màquina d'Internet. Per a això, hem d'importar el smtplib mòdul utilitzant la instrucció d'import.
$ import smtplib
L'objecte SMTP s'utilitza per a la transferència de correu electrònic. La sintaxi següent s'utilitza per crear l'objecte smtplib.
import smtplib smtpObj = smtplib.SMTP(host, port, local_hostname)
Accepta els paràmetres següents.
El mètode sendmail() de l'objecte SMTP s'utilitza per enviar el correu a la màquina desitjada. La sintaxi es mostra a continuació.
smtpObj.sendmail(sender, receiver, message)
Exemple
#!/usr/bin/python3 import smtplib sender_mail = '[email protected]' receivers_mail = ['[email protected]'] message = '''From: From Person %s To: To Person %s Subject: Sending SMTP e-mail This is a test e-mail message. '''%(sender_mail,receivers_mail) try: smtpObj = smtplib.SMTP('localhost') smtpObj.sendmail(sender_mail, receivers_mail, message) print('Successfully sent email') except Exception: print('Error: unable to send email')
Enviament de correu electrònic des de gmail
Hi ha casos en què els correus electrònics s'envien mitjançant el servidor SMTP de Gmail. En aquest cas, podem passar Gmail com a servidor SMTP en lloc d'utilitzar el localhost amb el port 587.
Utilitzeu la sintaxi següent.
$ smtpObj = smtplib.SMTP('gmail.com', 587)
Aquí, hem d'iniciar sessió al compte de Gmail amb el nom d'usuari i la contrasenya de Gmail. Amb aquesta finalitat, els smtplib proporcionen el mètode login(), que accepta el nom d'usuari i la contrasenya del remitent.
system.out.println
Això pot fer que el vostre Gmail us demani accés a aplicacions menys segures si feu servir Gmail. Haureu d'activar-lo temporalment perquè funcioni.
Considereu l'exemple següent.
Exemple
#!/usr/bin/python3 import smtplib sender_mail = '[email protected]' receivers_mail = ['[email protected]'] message = '''From: From Person %s To: To Person %s Subject: Sending SMTP e-mail This is a test e-mail message. '''%(sender_mail,receivers_mail) try: password = input('Enter the password'); smtpObj = smtplib.SMTP('gmail.com',587) smtpobj.login(sender_mail,password) smtpObj.sendmail(sender_mail, receivers_mail, message) print('Successfully sent email') except Exception: print('Error: unable to send email')
Enviament d'HTML per correu electrònic
Podem formatar l'HTML al missatge especificant la versió MIME, el tipus de contingut i el conjunt de caràcters per enviar l'HTML.
Considereu l'exemple següent.
Exemple
#!/usr/bin/python3 import smtplib sender_mail = '[email protected]' receivers_mail = ['[email protected]'] message = '''From: From Person %s To: To Person %s MIME-Version:1.0 Content-type:text/html Subject: Sending SMTP e-mail <h3>Python SMTP</h3> <strong>This is a test e-mail message.</strong> '''%(sender_mail,receivers_mail) try: smtpObj = smtplib.SMTP('localhost') smtpObj.sendmail(sender_mail, receivers_mail, message) print('Successfully sent email') except Exception: print('Error: unable to send email')