Simple Mail Transfer Protocol (SMTP) bruges som en protokol til at håndtere e-mail-overførslen ved hjælp af Python. Det bruges til at dirigere e-mails mellem e-mail-servere. Det er en applikationslagsprotokol, som gør det muligt for brugere at sende mail til en anden. Modtageren henter e-mail ved hjælp af protokollerne POP (Post Office Protocol) og IMAP (Internet Message Access Protocol) .
Når serveren lytter efter TCP-forbindelsen fra en klient, starter den en forbindelse på port 587.
Python giver en smtplib modul, som definerer et SMTP-klientsessionsobjekt, der bruges til at sende e-mails til en internetmaskine. Til dette formål skal vi importere smtplib modul ved hjælp af importerklæringen.
linux kommandoer
$ import smtplib
SMTP-objektet bruges til e-mail-overførslen. Følgende syntaks bruges til at skabe smtplib-objektet.
import smtplib smtpObj = smtplib.SMTP(host, port, local_hostname)
Den accepterer følgende parametre.
Sendmail()-metoden for SMTP-objektet bruges til at sende mailen til den ønskede maskine. Syntaksen er angivet 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-mail fra gmail
Der er tilfælde, hvor e-mails sendes ved hjælp af Gmail SMTP-serveren. I dette tilfælde kan vi sende Gmail som SMTP-server i stedet for at bruge den lokale vært med port 587.
streng til dato konverter
Brug følgende syntaks.
$ smtpObj = smtplib.SMTP('gmail.com', 587)
Her skal vi logge ind på Gmail-kontoen ved hjælp af Gmail-brugernavn og -adgangskode. Til dette formål giver smtplib login()-metoden, som accepterer afsenderens brugernavn og adgangskode.
Dette kan få din Gmail til at bede dig om adgang til mindre sikre apps, hvis du bruger Gmail. Du skal slå dette TIL midlertidigt, for at det kan fungere.
concat java streng
Overvej følgende eksempel.
Eksempel
personalevalgskommission 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-mail
Vi kan formatere HTML'en i meddelelsen ved at angive MIME-versionen, indholdstypen og tegnsættet for at sende HTML'en.
Overvej følgende eksempel.
Eksempel
#!/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')