Ko govorimo o Pythonu, je težko spregledati, kako daleč so funkcionalnosti razširjene in kaj lahko dosežete z le nekaj deli kode. Danes je pošiljanje in prejemanje e-pošte najpomembnejša stvar, Pythonova avtomatizacija e-pošte v Microsoft Outlooku pa naredi stvari bolj priročne.
Zakaj bi porabili neskončne trenutke za zbiranje e-poštnih sporočil v e-poštnem odjemalcu, če lahko dovolite, da Python to stori namesto vas v enem samem primeru? Če vas zanima, morate nadaljevati z branjem, da vidite, kako lahko pošiljate avtomatizirana e-poštna sporočila iz Pythona z uporabo Microsoft Outlooka.
Izpolnjevanje nekaj predpogojev
Glede na dve glavni platformi, omenjeni v tem priročniku, sta to predpogoja za omogočanje te preproste, a uporabne naloge. Za začetek prenesite in namestite naslednje:
- Microsoft Outlook: V sistemu morate imeti nameščeno in zagnano aplikacijo MS Outlook. Z Outlookom lahko uporabljate katero koli e-poštno domeno, saj nima nobenih omejitev glede konfiguracije e-pošte.
- win32com.client: Ta knjižnica tretje osebe je bistvenega pomena za povezavo z vašimi Microsoftovimi aplikacijami. Ker je Microsoft Outlook ena takšnih aplikacij, potrebujete to knjižnico znotraj Pythona za povezavo s strežnikom Outlook Exchange.
Microsoft Outlook je eden najstarejših in najbolj razširjenih e-poštnih odjemalcev, ki se uvršča na seznam najbolj priljubljen ponudnik e-pošte za Gmailom in Yahoojem. V tem priročniku je naslov Gmail konfiguriran v Outlooku.
win32com.client je sestavni del te kode in za vzpostavitev povezave med Microsoft Outlookom in Pythonom potrebujete popolnoma funkcionalno knjižnico.
Pred namestitvijo lahko preverite, ali win32com je že nameščen na vašem računalniku. Nekatere različice IDE ta paket ponujajo privzeto. Z naslednjim ukazom lahko navzkrižno preverite, ali je na voljo.
python -m pip pokazati pywin32
Če se prikaže napaka 'pip' ni prepoznan kot notranji ali zunanji ukaz med izvajanjem zgornjega ukaza lahko namestite pip v Windows, Mac in Linux, da zagotovite brezhibne namestitve vaše knjižnice.
Če po zagonu zgornjega ukaza prejmete številko različice, vam ga ni treba znova namestiti.
Če pozneje prejmete naslednje sporočilo o napaki, morate namestiti win32com knjižnica v vašem sistemu:
'pywin32'jene priznana kot notranji oz zunanji ukaz, operativni program, oz paketna datoteka.
Odprite poziv in vnesite pip ukaz za namestitev knjižnice iz terminalskega okna.
python -m pip namestite pywin32
Za dokončanje postopka sledite navodilom na zaslonu. Lahko uporabite --pokaži ukaz po namestitvi, da preverite, ali win32com je uspešno nameščen v vašem sistemu.
python -m pip pokazati pywin32
Pošiljanje e-pošte iz Pythona z uporabo Outlooka
Ker so predpogoji poskrbljeni, je čas, da začnete pisati kodo. Za začetek morate uvoziti win32com.client knjižnico z uporabo uvoz izjava.
uvoz win32com.client
Zdaj lahko pišete kodo za povezavo Pythona in Microsoftove e-poštne aplikacije Outlook.
ol = win32com.client. odprema('Ogledi. aplikacija')
Kje:
- ol: Nova spremenljivka za shranjevanje reference povezave.
- win32com.client: knjižnica Windows za vzpostavitev povezave med Pythonom in Outlookom.
- Odprema: Funkcija za ustvarjanje povezave.
- Outlook. Aplikacija: To lahko po potrebi zamenjate s katerim koli imenom Microsoftove aplikacije.
Nato je treba določiti dimenzije novega e-poštnega sporočila, da bo Python razumel, kje je treba posodobiti vsebino.
# velikost novega e-poštnega sporočila
olmailitem = 0x0
Kje:
- olmailitem: Nova spremenljivka za shranjevanje dimenzij.
- 0x0: Dimenzije novega e-poštnega sporočila v Pythonovem pomnilniku.
Pythonove funkcije odprejo novo e-poštno postavko, takoj ko določite dimenzije telesa e-pošte.
nova pošta = ol. CreateItem (olmailitem)
Kje:
- nova pošta: Nova spremenljivka za shranjevanje nove e-poštne reference.
- ol: Referenca predhodno ustvarjene povezave med Pythonom in Outlookom.
- CreateItem (olmailitem): Ukaz za ustvarjanje novega e-poštnega osnutka.
Ker je vsako e-poštno sporočilo brez zadeve nepopolno, ga lahko definirate v kodi, tako da ga Python samodejno doda, preden pošlje e-poštno sporočilo prejemniku. To bo vidno prejemniku, zato bodite previdni, kako definirate velikost in velikost črk ter vsebino.
nova pošta. Zadeva = 'Testiranje pošte'
Kje:
- nova pošta:Spremenljivka za shranjevanje sklica nove poštne postavke.
- Predmet: To se lahko razlikuje glede na to, kaj želite imeti kot zadevo svojega e-poštnega sporočila.
Predvidene prejemnike lahko dodate znotraj Za in CC ključne besede, kot sledi:
nova pošta. Za = '[email protected]'
nova pošta. CC = '[email protected]'
Kje:
- Za: E-poštni naslov glavnega prejemnika.
- CC: kopirani prejemniki e-pošte.
S Pythonom lahko pošiljate e-pošto več prejemnikom. Dodaj a podpičje (;) ločilo med e-poštnimi ID-ji v stolpcu Za/CC.
Nazadnje, ko določite zadevo in prejemnike, lahko dodate telo e-poštnega sporočila novemu poštnemu elementu, preden ga pošljete prejemnikom v Za in CC stolpce.
nova pošta. Telo= 'Pozdravljeni, to je testno e-poštno sporočilo za predstavitev pošiljanja e-poštnih sporočil iz Pythona in Outlooka.'
Če želite svoji e-pošti dodati priloge, lahko uporabite naslednje ukaze:
priloži = 'C:\\Uporabniki\\admin\\Desktop\\Python\\Sample.xlsx'
nova pošta.Priponke.Dodaj(priložiti)
Ko je e-poštno sporočilo pripravljeno za pošiljanje, lahko uporabite dve možnosti. Če želite predogled svojega e-poštnega sporočila, preden ga pošljete prejemnikom, lahko uporabite Prikaz() ukaz kot sledi:
nova pošta.Zaslon()
Lahko uporabite Pošlji() če želite poslati e-pošto, ne da bi jo predhodno pregledali.
nova pošta.Pošlji()
Ne pozabite, da ne boste videli predogleda e-pošte, če uporabljate Pošlji ukaz neposredno. Ta ukaz uporabite pametno, če redno spreminjate vsebino telesa e-pošte. S kodo Python lahko naenkrat uvozite knjižnico, vzpostavite povezavo in hitro pošljete e-pošto.
Tukaj je celotna koda:
uvoz win32com.client
ol=win32com.client. odprema("outlook.aplikacija")
olmailitem=0x0#velikost novega e-poštnega sporočila
nova pošta=ol. CreateItem (olmailitem)
nova pošta. Zadeva= 'Testiranje pošte'
nova pošta. Za='[email protected]'
nova pošta. CC='[email protected]'
nova pošta. Telo= 'Pozdravljeni, to je testno e-poštno sporočilo za predstavitev pošiljanja e-poštnih sporočil iz Pythona in Outlooka.'
# attach='C:\\Uporabniki\\admin\\Desktop\\Python\\Sample.xlsx'
# nova pošta.Priponke.Dodaj(priložiti)
# Za prikaz pošte pred pošiljanjem
# nova pošta. Prikaz()
nova pošta.Pošlji()
Prednosti avtomatizacije elektronske pošte Python
Avtomatizacija e-pošte Python vam omogoča pošiljanje e-pošte neposredno iz vašega vmesnika Python, ne da bi odprli MS Outlook. Če ste navdušen uporabnik Pythona in niste preveč navdušeni nad večkratnim odpiranjem e-poštnega odjemalca za vpisovanje e-poštnih sporočil, lahko programskemu jeziku dovolite, da to stori namesto vas.
Zakaj bi ure in ure opravljali ponavljajoča se opravila, ko pa lahko pošiljate avtomatizirana e-poštna sporočila z uporabo Pythona z nekaj vrsticami kode?