Čitatelji poput vas podržavaju MUO. Kada kupite putem poveznica na našoj stranici, možemo zaraditi partnersku proviziju. Čitaj više.

Kada se govori o Pythonu, teško je previdjeti koliko su se funkcionalnosti proširile i što možete postići sa samo nekoliko dijelova koda. Danas je slanje i primanje e-pošte najrelevantnija stvar, a Pythonova automatizacija e-pošte u Microsoft Outlooku čini stvari praktičnijima.

Zašto provoditi beskrajne trenutke sastavljajući e-poštu na klijentu e-pošte kada možete dopustiti Pythonu da to učini umjesto vas u jednom primjerku? Ako ste zaintrigirani, morate čitati dalje kako biste vidjeli kako možete slati automatizirane e-poruke iz Pythona koristeći Microsoft Outlook.

Ispunjavanje nekoliko preduvjeta

S obzirom na dvije glavne platforme navedene u ovom vodiču, ovo su preduvjeti za omogućavanje ovog jednostavnog, ali korisnog zadatka. Za početak preuzmite i instalirajte sljedeće:

  • Microsoft Outlook: Na vašem sustavu morate imati instaliranu i pokrenutu aplikaciju MS Outlook. S Outlookom možete koristiti bilo koju domenu e-pošte jer nema ograničenja u pogledu konfiguracije e-pošte.
    instagram viewer
  • win32com.client: Ova biblioteka treće strane neophodna je za povezivanje s vašim Microsoftovim aplikacijama. Budući da je Microsoft Outlook jedna takva aplikacija, potrebna vam je ova biblioteka unutar Pythona za povezivanje s poslužiteljem Outlook Exchange.

Microsoft Outlook je jedan od najstarijih i najčešće korištenih klijenata e-pošte, koji se nalazi na popisu najpopularniji pružatelji usluga e-pošte nakon Gmaila i Yahooa. U ovom vodiču, Gmail adresa je konfigurirana unutar Outlooka.

win32com.client sastavni je aspekt ovog koda i potrebna vam je potpuno funkcionalna biblioteka za uspostavljanje veze između Microsoft Outlooka i Pythona.

Prije instaliranja možete provjeriti je li win32com je već instaliran na vašem računalu. Neke IDE verzije nude ovaj paket prema zadanim postavkama. Možete unakrsno provjeriti je li dostupan sljedećom naredbom.

python -m pip pokazati pywin32

Ako dobijete pogrešku 'pip' se ne prepoznaje kao unutarnja ili vanjska naredba dok izvodite gornju naredbu, možete instalirajte pip na Windows, Mac i Linux, kako biste osigurali besprijekorne instalacije vaše knjižnice.

Nakon pokretanja gornje naredbe, ako primite broj verzije, ne morate je ponovno instalirati.

Nakon toga, ako dobijete sljedeću poruku o pogrešci, trebate instalirati win32com biblioteka na vašem sustavu:

'pywin32'jene priznati kao interni ili vanjska naredba, operativni program, ili skupna datoteka.

Otvorite upit i upišite pip naredba za instaliranje biblioteke iz prozora terminala.

python -m pip instalirati pywin32

Slijedite upute na zaslonu kako biste dovršili postupak. Možete koristiti --pokazati naredba post-instalacija za provjeru je li win32com je uspješno instaliran na vašem sustavu.

python -m pip pokazati pywin32

Slanje e-pošte iz Pythona pomoću Outlooka

Budući da su preduvjeti zadovoljeni, vrijeme je da počnete pisati kod. Za početak morate uvesti win32com.client knjižnica pomoću uvoz izjava.

uvoz win32com.client

Sada možete napisati kod za povezivanje Pythona i Microsoftove aplikacije za e-poštu, Outlook.

ol = win32com.client. otprema ('Ogledi. Primjena')

Gdje:

  • ol: Nova varijabla za pohranu reference veze.
  • win32com.client: Windows biblioteka za uspostavljanje veze između Pythona i Outlooka.
  • otprema: Funkcija za stvaranje veze.
  • Outlook. Primjena: Ovo se prema potrebi može zamijeniti bilo kojim nazivom Microsoftove aplikacije.

Zatim je potrebno definirati dimenzije nove e-mail poruke kako bi Python shvatio gdje sadržaj treba ažurirati.

# veličina nove e-pošte
olmailitem = 0x0

Gdje:

  • olmailitem: Nova varijabla za pohranjivanje dimenzija.
  • 0x0: Dimenzije nove poruke e-pošte u Pythonovoj memoriji.

Pythonove funkcije otvaraju novu stavku e-pošte čim definirate dimenzije tijela e-pošte.

nova pošta = ol. Stvori stavku (olmailitem)

Gdje:

  • nova pošta: Nova varijabla za pohranu nove reference e-pošte.
  • ol: Referenca prethodno stvorene veze između Pythona i Outlooka.
  • Stvori stavku (olmailitem): Naredba za stvaranje nove skice e-pošte.

Budući da je svaka e-pošta nepotpuna bez retka predmeta, možete je definirati unutar koda tako da je Python automatski doda prije slanja e-pošte primatelju. Ovo će biti vidljivo primatelju, pa pripazite kako definirate veličinu slova i sadržaj.

nova pošta. Predmet = 'Testiranje pošte'

Gdje:

  • nova pošta:Varijabla za pohranu reference nove stavke pošte.
  • Predmet: Ovo može varirati, ovisno o tome što želite imati kao predmet svoje e-pošte.

Možete dodati željene primatelje unutar Do i CC ključne riječi kako slijedi:

nova pošta. Za = '[email protected]'
nova pošta. CC = '[email protected]'

Gdje:

  • Do: E-mail adresa glavnog primatelja.
  • CC: Kopirani primatelji e-pošte.

S Pythonom možete slati e-poštu većem broju primatelja. Dodati točka i zarez (;) razdjelnik između ID-ova e-pošte unutar stupca Prima/CC.

Konačno, nakon što definirate predmet i primatelje, možete dodati tijelo e-pošte novoj stavci e-pošte prije nego što je pošaljete primateljima unutar Do i CC stupci.

nova pošta. Tijelo= 'Pozdrav, ovo je probna e-pošta za prikaz kako slati e-poštu iz Pythona i Outlooka.'

Da biste dodali privitke svojoj e-pošti, možete koristiti sljedeće naredbe:

priložiti = 'C:\\Korisnici\\admin\\Desktop\\Python\\Sample.xlsx'
nova pošta.Prilozi.Dodati(priložiti)

Kako je e-pošta spremna za slanje, postoje dvije opcije koje možete koristiti. Ako želite pregledati svoju e-poštu prije slanja primateljima, možete koristiti Prikaz() naredba kako slijedi:

nova pošta.Prikaz()

Možete koristiti Poslati() ako želite poslati e-poštu bez prethodnog pregleda.

nova pošta.Poslati()

Zapamtite, nećete vidjeti pregled e-pošte ako koristite Poslati zapovijedati izravno. Koristite ovu naredbu mudro ako redovito mijenjate sadržaj tijela e-pošte. Možete upotrijebiti Python kod u jednom potezu za uvoz biblioteke, uspostavljanje veze i brzo slanje e-pošte.

Evo kompletnog koda:

uvoz win32com.client
ol=win32com.client. otprema ("outlook.aplikacija")
olmailitem=0x0#veličina nove e-pošte
nova pošta=ol. Stvori stavku (olmailitem)
nova pošta. Predmet= 'Testiranje pošte'
nova pošta. Za='[email protected]'
nova pošta. CC='[email protected]'
nova pošta. Tijelo= 'Pozdrav, ovo je probna e-pošta za prikaz kako slati e-poštu iz Pythona i Outlooka.'
# attach='C:\\Korisnici\\admin\\Desktop\\Python\\Sample.xlsx'
# nova pošta.Prilozi.Dodati(priložiti)
# Za prikaz pošte prije slanja
# nova pošta. Prikaz()
nova pošta.Poslati()

Prednosti Python automatizacije e-pošte

Python automatizacija e-pošte omogućuje vam slanje e-pošte izravno s vašeg Python sučelja bez otvaranja MS Outlooka. Ako ste strastveni korisnik Pythona i ne volite više puta otvarati klijent e-pošte za upisivanje e-poruka, možete prepustiti programskom jeziku da to učini umjesto vas.

Zašto provoditi sate radeći zadatke koji se ponavljaju, kada možete slati automatizirane e-poruke pomoću Pythona s nekoliko redaka koda?