Kaip siųsti automatinius el. Pašto pranešimus „Python“

Kaip siųsti automatinius el. Pašto pranešimus „Python“

Nors komerciniai el. Pašto klientai siūlo patogią vartotojo sąsają, jiems dažnai trūksta lankstumo ir pritaikomumo, kurio daugelis kūrėjų ar turinio kūrėjų pageidauja savo el.





Nesvarbu, ar išsiuntėte padėkos laišką naujam abonentui savo socialinės žiniasklaidos kanale, ar pridėjote el. Pašto funkcijas prie savo naujausio projekto, galimybė siųsti automatinius pranešimus naudojant „SMTP“ „Python“ yra kažkas, kas tikrai pravers.





Skaitykite toliau, kad sužinotumėte, kaip galite gauti „Python“ scenarijų, kad šiandien būtų siunčiami el.





Kas yra SMTP?

Paprasčiau tariant, SMTP arba paprastas pašto perdavimo protokolas yra pašto serverių ryšio protokolas, skirtas elektroniniams laiškams perduoti internetu.

Tai yra neatskiriama TCP/IP rinkinio taikymo sluoksnio dalis, kuri yra protokolų rinkinys, naudojamas bendravimui internetu ar kitais panašiais tinklais. Tinkle, kuriame įdiegtas SMTP, procesas vadinamas saugoti ir persiųsti padeda perkelti laiškus tinklais.



Kiekviename galutiniame taške programinė įranga, žinoma kaip pašto perdavimo agentas (MTA), naudoja saugojimą ir persiuntimą, kad palengvintų ryšį tarp dalyvaujančių SMTP serverių. Todėl pagrindinis SMTP vaidmuo yra tiesiog nurodyti, kur ir kaip paštas juda iš vieno tinklo taško į kitą.

Darbo pradžia

Kad galėtumėte siųsti el. Laiškus naudodami šią programą, turite turėti el. Pašto paskyrą. Taip yra todėl, kad el. Laiškams siųsti naudosime el. Pašto kliento SMTP paslaugą. Šioje pamokoje naudosime „Gmail“.





Norėdami siųsti bandomuosius el. Laiškus, taip pat galite naudoti vietinį SMTP derinimo serverį, tačiau kol kas el. Laiškams siųsti naudosime el. Pašto paskyrą, nes ji yra intuityvesnė.

Galima tiesiog naudoti esamą „Gmail“ paskyrą, tačiau žaidžiant su programa, ji netrukus gali būti užpildyta bandomaisiais el. Štai kodėl mes rekomenduojame sukurti „išmetamąją“ paskyrą bandymams.





Dabar įjunkite parinktį leisti mažiau saugias programas kad galėtumėte pasiekti savo „Gmail“ paskyrą. Tai dar viena priežastis naudoti išmetamąjį el. Laišką, nes nerekomenduojama žaisti su pagrindinio el. Pašto privatumo nustatymais.

Laiško rašymas „Python“

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

Kaip ir bet kuris kitas „Python“ modulis, pirmiausia turite importuoti „smtplib“.

import smtplib

SMTP objekto inicijavimas

Dabar galite naudoti „smtplib“, kad sukurtumėte SMTP objektą, kuris suteiks jums daugumą įprastų el. Pašto kliento funkcijų. Tačiau SMTP objekto funkcijas galima naudoti tik naudojant egzemplioriaus metodus. Taigi, žinoma, kitas žingsnis yra paskelbti objekto egzempliorių.

mySMTP = smtplib.SMTP('smtp.google.com')

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

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

emailSender = senderMail@sender.com
myThroaway = 'myEmail@gmail.com'
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 saugoti. Dėl to šiame lauke galite nurodyti net visą adresatų sąrašą!

Žinutės rašymas

Tikriausiai pati paprasčiausia proceso dalis, čia turite įvesti vertes, kurias paprastai pridėtumėte kurdami naują el. Tai įtraukia:

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

Šie laukai sudėti į trigubas kabutes ir pažymėti taip:

Kompiuteris neprisijungia prie „Wi -Fi“ „Windows 10“
newEmail = '''From: From Person
To: To Person
Subject: Email Test
This is the body of the email.
'''

El. Laiško siuntimas

Galiausiai galime naudoti komandą sendmail, norėdami išsiųsti laišką 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 serveriui 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 sugesti.

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

import smtplib
emailSender = senderMail@sender.com
myThroaway = ‘my_email@gmail.com’
emailRecipients = [myThroaway]
newEmail = '''From: From Person
To: To Person
Subject: Email Test
This is the body of the email.
'''
try:
smtpObj = smtplib.SMTP(‘smtp.gmail.com’)
mySMTP.sendmail(emailSender, emailRecipients, newEmail)
print (Email sent successfully!)
except SMTPException:
print ('Error: There was an error in sending your email.')

Laiškų apsauga

Jei ketinate naudoti „Python“ realaus pasaulio sąlygomis, norėdami siųsti el. Laiškus, svarbu įsitikinti, kad ryšys yra saugus iš abiejų pusių.

Naudojant paprastą SMTP serverį su numatytuoju prievadu, ryšys nesuteikia jokio šifravimo sluoksnio. Tai reiškia, kad jei jūsų tinkle klausosi bet kuri 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ą, kad būtų užšifruotas jūsų ryšys. Tai yra tas pats protokolas, kurį naudoja pagrindiniai el. Pašto klientai, pvz., „Gmail“ ir „Outlook“, kad jūsų el. Laiškai niekada nepatektų į netinkamas rankas.

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

Pirmasis žingsnis, žinoma, yra importuoti ssl biblioteka kartu su smtplib . The ssl biblioteka suteikia galimybę sukurti saugų SSL kontekstą ir bendrauti per užšifruotą tinklą, jungiantis prie konkrečių prievadų abiejuose galuose.

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

Po to galime nurodyti TLS prievadą ir pridėti keletą ssl bibliotekos funkcijas, kad sukurtumėte saugų el.

Kodas su visais pakeitimais atrodo maždaug taip:

import smtplib, ssl
smtpServer = 'smtp.gmail.com'
port = 587
myEmail = 'my_email@gmail.com'
password = 'my_password'
#email and password can also be user input fields
context = ssl.create_default_context()
newEmail = '''From: From Person
To: To Person
Subject: Email Test
This is the body of the email.
'''
try:
server = smtplib.SMTP(smtpServer,port)
server.starttls(context=context)
server.login(newEmail, password)
except Exception as e:
print('the email could not be sent.')
finally:
server.quit()

Kaip ir anksčiau, turėtumėte sukurti ir naudoti SMTP egzempliorių bandomojo blokavimo bloke, kad išvengtumėte staigių programos gedimų.

nemokamai sužinoti, kam priklauso telefono numeris

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

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

Šio mažo „Python“ scenarijaus naudojimą riboja tik jūsų kūrybiškumas - nuo jo naudojimo asmeninėje svetainėje automatiniams patvirtinimo el. Laiškams siųsti iki to, kad jis būtų siunčiamas kalėdiniams atvirukams ar kvietimams jūsų šeimai ir draugams.

Be to, tai tik vienas iš daugelio nuostabių dalykų, kuriuos galite padaryti naudodami „Python“. Dėl visur esančio kūrėjų palaikymo ir lengvai išmoktos sintaksės „Python“ įgūdžių įgijimas niekada nebuvo lengvesnis.

Jei norite toliau kurti šaunius dalykus naudodami kodą, peržiūrėkite mūsų vadovą, kaip tai padaryti Sukurkite savo „Telegram“ robotą naudodami „Python 3“ !

Dalintis Dalintis „Tweet“ Paštu Kaip patobulinti savo „Python“ ir AI įgūdžius naudojant „Keras“, „Pytorch“, „Tensorflow“ ir dar daugiau

Patobulinkite programavimo ir žiniatinklio kūrimo įgūdžius „Python“, „Dirbtinio intelekto“, „Keras“, „PyTorch“ ir kt.

Skaityti toliau
Susijusios temos
  • Programavimas
  • „Gmail“
  • Patarimai el. Paštu
  • Python
  • Užduočių automatizavimas
Apie autorių Yash Chellani(Paskelbta 10 straipsnių)

Yash yra trokštantis informatikos studentas, mėgstantis kurti dalykus ir rašyti apie visas technologijas. Laisvalaikiu jis mėgsta žaisti skvošą, skaityti naujausio „Murakami“ egzempliorių ir medžioti drakonus „Skyrim“.

Daugiau iš Yash Chellani

Prenumeruokite mūsų naujienlaiškį

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

Norėdami užsiprenumeruoti, spustelėkite čia