Automatizujte nudnou práci — Python a email

Zpět na blog

Automatizujte nudnou práci — Python a email

python email gmail seznam email smtp

Email se stal standardem pro naši komunikaci. Používání emailu se nevyhnete ani v zaměstnání, ani v osobním životě. Pokud chcete tuto nudou činnost automatizovat, je Python tím správným jazykem, který vám pomůže.

Automatizujte emaily s Pythonem

V tomto článku se naučíte, jak odesílat e-maily pomocí jazyka Python.

Automatizace emailů má v praxi široké uplatnění. Můžete zasílat upozornění, když zákazník neuhradil včas platbu. Nebo potřebujete pravidelně posílat potvrzení novým uživatelům vaší aplikace. Anebo chcete upozornit odběratele na nový článek na vašem webu. Příkladů užití je spousta.

Ruční odesílání e-mailů je časově náročná práce, která je náchylná k chybám. Naštěstí jí díky Pythonu můžete snadno automatizovat.

Jak začít? Jednoduše!

Možností, jak využít Python pro automatizaci emailů je spoustu.

V tomto článku se naučíte ten nejjednodušší způsob. Zaměříme se na dvě, v ČR asi nejpoužívanější, freemailové služby - a sice Email od SeznamuGmail od Googlu.

Protože Python už obsahuje základní knihovnu pro posílání emailů, nemusíte nic složitě instalovat. Stačí, mít na svém počítači Python.

Pokud Python na svém PC ještě nemáte, bude se vám hodit návod jak snadno nainstalovat Python za 5 minut.

Seznam (email.cz)

V případě seznamu je nastavení jednoduché. Bude vám stačit jen emailová adresa a heslo. Zkopírujte níže uvedený kód a změňte usernamepassword.

Pro vyzkoušení pošlete email sami sobě (proměnná recipient).

from email.mime.text import MIMEText
import smtplib
import sys

username = 'mujosobniemail@seznam.cz'
password = 'sloziteheslo'

# Aby email fungoval hezky česky
message = MIMEText('Dokonalá automatizace v praxi. Nechávám Python, aby za mě posílal email. Jak lovely! :)')
message['Subject'] = 'Python za mě posílá email'  # Předmět
message['From'] = username  # Od koho
recipient = username  # Komu

# Vytvoříme SMTP objekt se šifrováním pomocí SSL
with smtplib.SMTP_SSL('smtp.seznam.cz', 465) as smtp:
    print('Přihlašuji se...')
    try:
        smtp.login(username, password)
    except Exception as e:
        print('Přihlášení se nepovedlo.', e)
        sys.exit()

    print('Odesílám email...')
    try:
        smtp.sendmail(username, recipient, message.as_string())
    except Exception as e:
        print('Odeslání se nepovedlo.', e)
        sys.exit()

    print('OK')
Přihlašuji se...
Odesílám email...
OK

Email v Seznamu

Google (gmail)

Google sice zatím také povoluje použití emailu a hesla, ale nejdřív musíte tuto podporu zapnout v nastavení vašeho Google účtu. Protože Google tuto variantu nepovažuje za bezpečnou, plánuje jí na konci května 2022 zrušit.

Vy proto raději používejte doporučený způsob, který využívá dvoufázové ověření (Two-Factor Authentication nebo také 2FA). To si musíte zapnout (pokud ještě nemáte) v nastavení vašeho Google účtu. A navíc si ještě musíte vygenerovat jednorázové heslo pro vaši aplikaci.

Google dvoufázové ověření

Toto vygenerované heslo pak použijete v Python scriptu místo vašeho běžného hesla, kterým se přihlašujete na Google.

from email.mime.text import MIMEText
import smtplib
import sys

username = 'mujosobniemail@gmail.com'
password = 'aaaabbbbccccdddd'  # Heslo pro aplikaci

# Aby email fungoval hezky česky
message = MIMEText('Dokonalá automatizace v praxi. Nechávám Python, aby za mě posílal email. Jak lovely! :)')
message['Subject'] = 'Python za mě posílá email'  # Předmět
message['From'] = username  # Od koho
recipient = username  # Komu

# Vytvoříme SMTP objekt se šifrováním pomocí TLS
with smtplib.SMTP('smtp.gmail.com', 587) as smtp:
    smtp.starttls()  # Spustíme šifrované připojení
    print('Přihlašuji se...')
    try:
        smtp.login(username, password)
    except Exception as e:
        print('Přihlášení se nepovedlo.', e)
        sys.exit()

    try:
        smtp.sendmail(username, recipient, message.as_string())
    except Exception as e:
        print('Odeslání se nepovedlo.', e)
        sys.exit()

    print('OK')
Přihlašuji se...
Odesílám email...
OK

Email v Google

Závěrem

Nyní umíte posílat emaily pomocí pár řádek Python kódu! Jen pamatujte: žádný spam. ;)

Pokud přemýšlíte, jak využít Python, možná vás bude zajímat online kurz základů Pythonu. Ten je určen pro všechny, kteří chtějí získat pevné základy Pythonu a používat ho třeba pro datovou analýzu.


Líbil se vám článek? Sdílejte ho s ostatními

nebo nám napište něco hezkého. Děkujeme!

Zpět na blog

Python - základy

Naučte se základy Pythonu - populárního jazyka, který vzal datovou vědu doslova útokem.

Zobrazit kurz

Pandas - analýza a zpracování dat

Naučte se základy Pandas - pythonovské knihovny, která je standardem pro analýzu a zpracování dat.

Zobrazit kurz

OK, Python

Automatizujte rutinní práci v Excelu, nechte za sebe pracovat Python a zjednodušte si život.

Zobrazit knihu

Hledáme další autory

Publikujte na Lovely Blogu a inspirujte ostatní! Sdílením svých znalosti si budujete osobní značku.

Kontaktujte nás

Odběr novinek

Novinky, návody a tipy přímo do vašeho emailu.

Copyright © 2018-2022, Colorbee, s.r.o.

Designed by grafikli.cz in Prague.