logo

Python Sender e-post med SMTP

Simple Mail Transfer Protocol (SMTP) brukes som en protokoll for å håndtere e-postoverføringen ved hjelp av Python. Den brukes til å rute e-poster mellom e-postservere. Det er en applikasjonslagsprotokoll som lar brukere sende e-post til en annen. Mottakeren henter e-post ved hjelp av protokollene POP (Post Office Protocol) og IMAP (Internet Message Access Protocol) .

Python Sender e-post med SMTP

Når serveren lytter etter TCP-tilkoblingen fra en klient, starter den en tilkobling på port 587.

Python gir en smtplib modul, som definerer et SMTP-klientsesjonsobjekt som brukes til å sende e-post til en internettmaskin. For dette formålet må vi importere smtplib modul ved hjelp av importerklæringen.

java design mønstre
 $ import smtplib 

SMTP-objektet brukes til e-postoverføringen. Følgende syntaks brukes til å lage smtplib-objektet.

 import smtplib smtpObj = smtplib.SMTP(host, port, local_hostname) 

Den godtar følgende parametere.

    vert:Det er vertsnavnet til maskinen som kjører SMTP-serveren din. Her kan vi spesifisere IP-adressen til serveren som ( https://www.javatpoint.com ) eller localhost. Det er en valgfri parameter.havn:Det er portnummeret som vertsmaskinen lytter til SMTP-tilkoblingene på. Det er 25 som standard.lokalt_vertsnavn:Hvis SMTP-serveren kjører på din lokale maskin, kan vi nevne vertsnavnet til den lokale maskinen.

Sendmail()-metoden til SMTP-objektet brukes til å sende e-posten til ønsket maskin. Syntaksen er gitt nedenfor.

 smtpObj.sendmail(sender, receiver, message) 

Eksempel

 #!/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') 

Sender e-post fra gmail

Det er tilfeller der e-postene sendes ved hjelp av Gmail SMTP-serveren. I dette tilfellet kan vi sende Gmail som SMTP-server i stedet for å bruke den lokale verten med port 587.

hvis annet loop i java

Bruk følgende syntaks.

 $ smtpObj = smtplib.SMTP('gmail.com', 587) 

Her må vi logge på Gmail-kontoen med Gmail-brukernavn og passord. For dette formålet gir smtplib login()-metoden, som godtar brukernavnet og passordet til avsenderen.

Dette kan få Gmail til å be deg om tilgang til mindre sikre apper hvis du bruker Gmail. Du må slå denne PÅ midlertidig for at dette skal fungere.

concat java-streng
Python Sender e-post med SMTP

Tenk på følgende eksempel.

Eksempel

personell valgkommisjon betydning
 #!/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') 

Sender HTML i e-post

Vi kan formatere HTML-en i meldingen ved å spesifisere MIME-versjonen, innholdstypen og tegnsettet for å sende HTML-en.

Tenk på følgende eksempel.

Eksempel

 #!/usr/bin/python3 import smtplib sender_mail = &apos;[email protected]&apos; receivers_mail = [&apos;[email protected]&apos;] message = &apos;&apos;&apos;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> &apos;&apos;&apos;%(sender_mail,receivers_mail) try: smtpObj = smtplib.SMTP(&apos;localhost&apos;) smtpObj.sendmail(sender_mail, receivers_mail, message) print(&apos;Successfully sent email&apos;) except Exception: print(&apos;Error: unable to send email&apos;)