Simple Mail Transfer Protocol (SMTP) -protokollaa käytetään protokollana sähköpostin siirtämiseen Pythonilla. Sitä käytetään sähköpostien reitittämiseen sähköpostipalvelimien välillä. Se on sovelluskerroksen protokolla, jonka avulla käyttäjät voivat lähettää sähköpostia toiselle. Vastaanottaja hakee sähköpostit protokollien avulla POP (Post Office Protocol) ja IMAP (Internet Message Access Protocol) .
font gimp
Kun palvelin kuuntelee TCP-yhteyttä asiakkaalta, se aloittaa yhteyden portissa 587.
Python tarjoaa a smtplib moduuli, joka määrittää SMTP-asiakasistuntoobjektin, jota käytetään sähköpostien lähettämiseen Internet-koneeseen. Tätä tarkoitusta varten meidän on tuotava smtplib moduuli tuontikäskyn avulla.
$ import smtplib
SMTP-objektia käytetään sähköpostin siirtoon. Seuraavaa syntaksia käytetään smtplib-objektin luomiseen.
import smtplib smtpObj = smtplib.SMTP(host, port, local_hostname)
Se hyväksyy seuraavat parametrit.
SMTP-objektin sendmail()-menetelmää käytetään sähköpostin lähettämiseen haluttuun koneeseen. Syntaksi on annettu alla.
smtpObj.sendmail(sender, receiver, message)
Esimerkki
#!/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')
Sähköpostin lähettäminen gmailista
Joissakin tapauksissa sähköpostit lähetetään Gmailin SMTP-palvelimen avulla. Tässä tapauksessa voimme välittää Gmailin SMTP-palvelimena sen sijaan, että käyttäisimme paikallispalvelinta portilla 587.
Käytä seuraavaa syntaksia.
$ smtpObj = smtplib.SMTP('gmail.com', 587)
Täällä meidän on kirjauduttava Gmail-tiliin Gmail-käyttäjänimellä ja salasanalla. Tätä tarkoitusta varten smtplib tarjoaa login()-menetelmän, joka hyväksyy lähettäjän käyttäjätunnuksen ja salasanan.
kylie jenner ikä
Tämä saattaa saada Gmailisi pyytämään sinulta pääsyä vähemmän turvallisiin sovelluksiin, jos käytät Gmailia. Sinun on otettava tämä tilapäisesti käyttöön, jotta tämä toimii.
Harkitse seuraavaa esimerkkiä.
Esimerkki
#!/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')
HTML:n lähettäminen sähköpostitse
Voimme muotoilla viestin HTML:n määrittämällä MIME-version, sisältötyypin ja merkistön HTML:n lähettämistä varten.
Harkitse seuraavaa esimerkkiä.
Esimerkki
#!/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')