Protocolul simplu de transfer de e-mail (SMTP) este folosit ca protocol pentru a gestiona transferul de e-mail folosind Python. Este folosit pentru a direcționa e-mailurile între servere de e-mail. Este un protocol de nivel de aplicație care permite utilizatorilor să trimită e-mail către altul. Destinatarul preia email-ul folosind protocoalele POP (Protocolul oficiului poștal) și IMAP (Internet Message Access Protocol) .
Când serverul ascultă conexiunea TCP de la un client, inițiază o conexiune pe portul 587.
Python oferă o smtplib modul, care definește un obiect de sesiune client SMTP utilizat pentru a trimite e-mailuri către o mașină de internet. În acest scop, trebuie să importam smtplib modul folosind instrucțiunea de import.
număr în șir java
$ import smtplib
Obiectul SMTP este utilizat pentru transferul de e-mail. Următoarea sintaxă este utilizată pentru a crea obiectul smtplib.
import smtplib smtpObj = smtplib.SMTP(host, port, local_hostname)
Acceptă următorii parametri.
Metoda sendmail() a obiectului SMTP este folosită pentru a trimite e-mail-ul către mașina dorită. Sintaxa este dată mai jos.
smtpObj.sendmail(sender, receiver, message)
Exemplu
#!/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')
Se trimite email de pe gmail
Există cazuri în care e-mailurile sunt trimise folosind serverul SMTP Gmail. În acest caz, putem trece Gmail ca server SMTP în loc să folosim localhost cu portul 587.
arata utilizatorilor mysql
Utilizați următoarea sintaxă.
$ smtpObj = smtplib.SMTP('gmail.com', 587)
Aici, trebuie să ne autentificăm la contul Gmail folosind numele de utilizator și parola Gmail. În acest scop, smtplib furnizează metoda login(), care acceptă numele de utilizator și parola expeditorului.
Acest lucru poate face ca Gmail să vă solicite acces la aplicații mai puțin sigure dacă utilizați Gmail. Va trebui să activați temporar această opțiune pentru ca aceasta să funcționeze.
Logica propozițională
Luați în considerare următorul exemplu.
Exemplu
#!/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')
Se trimite HTML prin e-mail
Putem formata HTML-ul în mesaj specificând versiunea MIME, tipul de conținut și setul de caractere pentru a trimite HTML-ul.
Luați în considerare următorul exemplu.
Exemplu
#!/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')