Nors komerciniai el. Pašto klientai siūlo patogią vartotojui GUI, jiems dažnai trūksta lankstumas ir pritaikomumas, kurio daugelis kūrėjų ar turinio kūrėjų nori išsiųsti el. paštu poreikiai.

Nesvarbu, ar jis išsiuntė padėkos laišką naujam abonentui savo socialinės žiniasklaidos kanale, ar pridėjo el. Pašto funkciją jūsų naujausias projektas, galimybė siųsti automatinius pranešimus naudojant „SMTP“ „Python“ yra kažkas, kas būtinai įeis patogu.

Skaitykite toliau, kad sužinotumėte, kaip galite gauti „Python“ scenarijų, kad šiandien galėtumėte siųsti el. Laiškus, esančius jūsų kompiuteryje.

Kas yra SMTP?

Paprasčiau tariant, SMTP arba paprastasis pašto perdavimo protokolas yra pašto serverių ryšio protokolas, skirtas el. Laiškams perduoti internetu.

Tai neatskiriama TCP / IP rinkinio, kuris yra protokolų rinkinys, naudojamas ryšiui per internetą ar kitus panašius tinklus, taikyti. Tinkle, kuriame įdiegta SMTP, procesas vadinamas parduotuvė ir pirmyn padeda perkelti paštą tinkluose.

Kiekviename taške programinė įranga, vadinama „Mail Transfer Agent“ (MTA), naudoja saugyklą ir persiuntimą, kad palengvintų bendravimą tarp dalyvaujančių SMTP serverių. Todėl pagrindinis SMTP vaidmuo yra tiesiog nustatyti, kur ir kaip paštas juda iš vieno taško į kitą tinkle.

instagram viewer

Darbo pradžia

Turite turėti el. Pašto abonementą, kurį galėsite naudoti el. Laiškams siųsti naudodamiesi šia programa. Taip yra todėl, kad el. Laiškams siųsti naudosime el. Pašto kliento SMTP paslaugą. Šioje pamokoje naudosime „Gmail“.

Bandomiesiems el. Laiškams siųsti taip pat galite naudoti vietinį SMTP derinimo serverį, tačiau kol kas el. Laiškams siųsti naudosime el. Pašto paskyrą, nes tai intuityviau.

Galima tiesiog naudoti esamą „Gmail“ paskyrą, tačiau žaidžiant su programa netrukus ji gali būti užpildyta bandomaisiais el. Laiškais. Štai kodėl bandymo tikslais rekomenduojame sukurti „mesti“ sąskaitą.

Dabar įjunkite parinktį leisti mažiau saugias programas norėdami pasiekti savo „Gmail“ paskyrą. Tai yra dar viena priežastis, dėl kurios reikia išmesti el. Laišką, nes nerekomenduojama žaisti su pagrindinio el. Pašto privatumo nustatymais.

El. Pašto rašymas „Python“

„Python 3“ yra iš anksto įdiegtas su moduliu, vadinamu „smtplib“ (sutrumpintai - „smtp“ biblioteka), kurį galima naudoti dirbant su SMTP serveriais.

Kaip ir bet kurį kitą „Python“ modulį, pirmiausia turite importuoti „smtplib“.

importuoti smtplib

Inicializuojamas SMTP objektas

Dabar galite naudoti smtplib, kad sukurtumėte SMTP objektą, kuris suteiks jums didžiąją dalį įprastų el. Pašto klientų funkcijų. Tačiau SMTP objekto funkcijas galima naudoti tik naudojant egzempliorių metodus. Taigi, savaime suprantama, kitas žingsnis yra objekto egzemplioriaus paskelbimas.

mySMTP = smtplib. SMTP („smtp.google.com“) 

Tai sukonfigūruoja SMTP objektą siųsti el. Laiškus per „Google“ SMTP serverį.

Po to mes nurodome siuntėjo ir gavėjo el. Čia yra naudinga anksčiau sukurta „Gmail“ paskyra.

emailSender = „[email protected]
myThroaway = "[email protected]"
emailRecipients = [myThroaway]

Čia reikia atkreipti dėmesį į tai, kad gavėjų sąrašas iš tikrųjų yra masyvas, o tai reiškia, kad jis skirtas ne atominėms vertėms laikyti. Todėl šiame lauke galite nurodyti net visą adresų sąrašą!

Rašyti žinutę

Neabejotinai paprasčiausia proceso dalis, čia turite įvesti reikšmes, kurias paprastai pridedate kurdami naują el. Laišką. Tai įtraukia:

  • Siuntėjo duomenys
  • Gavėjo duomenys
  • Tema
  • Pranešimo turinys

Šie laukai sujungiami trigubose kabutėse ir yra atskirti taip:

newEmail = Nuo: Nuo Asmens 
Kam: Asmeniui
Tema: El. Pašto testas
Tai yra el. Laiško turinys.

El. Pašto siuntimas

Galiausiai galime naudoti komandą sendmail, kad išsiųstume laiškus iš jūsų SMTP serverio į gavėjo serverį.

mySMTP.sendmail (emailSender, emailRecipients, newEmail)

Dabar yra tik vienas paskutinis žingsnis: pertvarkykite kodą, kad išvengtumėte numatomų programos gedimų.

„Python“ el. Pašto programos trikčių šalinimas

Kartais jūsų SMTP serveris gali nepavykti užmegzti ryšio su gavėjo ryšiu, arba gali kilti problemų siunčiant el. Laišką iš vieno SMTP prievado į kitą. Tokiu atveju jūsų programa gali netikėtai užstrigti.

Norėdami atsižvelgti į tokias galimybes, galite naudoti a pabandyti, išskyrus užblokuoti ir įdėti į klaidą linkusius teiginius į bandyti blokuoti. Visa jūsų programa kartu su bloku „try-išskyrus“ turėtų atrodyti maždaug taip:

importuoti smtplib
emailSender = „[email protected]
myThroaway = ‘[email protected]
emailRecipients = [myThroaway]
newEmail = Nuo: Nuo Asmens
Kam: Asmeniui
Tema: El. Pašto testas
Tai yra el. Laiško turinys.

bandyti:
smtpObj = smtplib. SMTP („smtp.gmail.com“)
mySMTP.sendmail (emailSender, emailRecipients, newEmail)
spausdinti („El. paštas sėkmingai išsiųstas!“)
išskyrus SMTPException:
spausdinti ("Klaida: siunčiant el. laišką įvyko klaida.")

El. Laiškų saugumas

Jei ketinate „Python“ naudoti realiuoju laiku el. Laiškams siųsti, svarbu įsitikinti, kad ryšys yra saugus abiejuose galuose.

Naudojant paprastą SMTP serverį su numatytuoju prievadu, ryšiui nėra jokio šifravimo sluoksnio. Tai reiškia, kad jei jūsų tinkle klausosi trečioji šalis, ji gali pasiekti jūsų prisijungimo duomenis ir el. Laiške esančią informaciją.

Vienas iš būdų apeiti šią problemą yra naudoti TLS (Transport Layer Security) protokolą jūsų ryšiui užšifruoti. Tai yra tas pats protokolas, kurį naudoja pagrindiniai el. Pašto klientai, tokie kaip „Gmail“ ir „Outlook“, siekiant užtikrinti, kad jūsų el. Laiškai niekada nepatektų į netinkamas rankas.

Norėdami tai padaryti, turime padaryti keletą nedidelių anksčiau sukurtos programos pakeitimų.

Pirmas žingsnis, žinoma, yra importuoti ssl biblioteka kartu su smtplib. ssl biblioteka suteikia jums galimybę sukurti saugų SSL kontekstą ir bendrauti per šifruotą tinklą, jungiantis prie konkrečių abiejų galų prievadų.

Saugus SSL kontekstas yra ne kas kita, o šifrų, protokolo versijų, patikimų sertifikatų, TLS parinkčių ir TLS plėtinių rinkinys.

Tai atlikę galime nurodyti TLS prievadą ir įtraukti į kelis ssl bibliotekos funkcijos saugiam el. pašto siuntėjui sukurti.

Kodas su visais atliktais pakeitimais atrodo maždaug taip:

importuoti smtplib, ssl
smtpServer = "smtp.gmail.com"
uostas = 587
myEmail = "mano el. paš[email protected]"
slaptažodis = "mano slaptažodis"
# el. paštas ir slaptažodis taip pat gali būti vartotojo įvesties laukai
context = ssl.create_default_context ()
newEmail = Nuo: Nuo Asmens
Kam: Asmeniui
Tema: El. Pašto testas
Tai yra el. Laiško turinys.

bandyti:
serveris = smtplib. SMTP („smtpServer“, prievadas)
server.starttls (kontekstas = kontekstas)
server.login (newEmail, slaptažodis)
išskyrus e išimtį:
spausdinti ("el. laiško išsiųsti nepavyko")
pagaliau:
server.quit ()

Kaip ir anksčiau, turėtumėte sukurti ir naudoti SMTP egzempliorių bandymo išskyrus bloką, kad išvengtumėte staigių programos gedimų.

Ką galite padaryti naudodami šį „Python“ scenarijų

Dabar, kai įgijote nuostabų ir stebėtinai naudingą įgūdį automatizuoti el. Laiškus naudojant kodą, galite juos pritaikyti bet kurioje platformoje, kuriai reikia siųsti el. Laiškus į įvairų adresų sąrašą.

Nuo to, kad naudosite savo asmeninėje svetainėje, norėdami siųsti automatinius patvirtinimo el. Laiškus, ir naudosite jį kalėdinėms atvirutėms siųsti arba kvietimai savo šeimai ir draugams, šio mažo „Python“ scenarijaus naudojimą riboja tik jūsų pačių kūrybiškumas.

Be to, tai tik vienas iš daugybės nuostabių dalykų, kuriuos galite padaryti su „Python“. Su visuotiniu palaikymu kūrėjams ir lengvai išmokstama sintakse, įgyti „Python“ įgūdžių dar nebuvo taip paprasta.

Norėdami toliau kurti įdomius dalykus su kodu, peržiūrėkite mūsų vadovą, kaip tai padaryti sukurkite savo „Telegram“ robotą naudodami „Python 3“!

El
Kaip atnaujinti Python ir AI įgūdžius naudojant „Keras“, „Pytorch“, „Tensorflow“ ir kt.

Atnaujinkite „Python“, dirbtinio intelekto, „Keras“, „PyTorch“ ir kitų programų programavimo ir žiniatinklio kūrimo įgūdžius.

Susijusios temos
  • Programavimas
  • „Gmail“
  • El. Pašto patarimai
  • „Python“
  • Užduočių automatika
Apie autorių
Yash Chellani (Paskelbti 8 straipsniai)

Yashas yra trokštantis informatikos studentas, mėgstantis kurti daiktus ir rašyti apie viską, kas yra technologija. Laisvalaikiu jis mėgsta žaisti skvošą, skaityti naujausio „Murakami“ egzempliorių ir „Skyrim“ medžioti drakonus.

Daugiau iš Yash Chellani

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kuriame rasite techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!

Dar vienas žingsnis…!

Prašome patvirtinti savo el. Pašto adresą el. Laiške, kurį jums ką tik išsiuntėme.

.