Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Python
Code

Odosielanie e-mailov v Pythone cez SMTP

by
Difficulty:IntermediateLength:MediumLanguages:

Slovak (Slovenčina) translation by Ryan (you can also view the original English article)

V tomto návode si predstavíme SMTP, modul v Pythone, ktorý sa používa pre odosielanie e-mailov. Taktiež si ukážeme ako odosielať rôzne typy e-mailov ako sú jednoduché textové e-maily, e-maily s prílohami alebo e-maily s obsahom v jazyku HTML.

Úvod do SMTP

Simple Mail Transfer Protocol (SMTP) má na starosti odosielanie a smerovanie e-mailov medzi servermi.

Modul smtplib v Pythone definuje objekt relácie SMTP klienta, ktorý može byť použitý na odosielanie e-mailov akémukoľvek inému prístroju na Internete s SMTP alebo ESMTP serverom.

Takto si vytvoríme objekt SMTP klienta.

Vytvárame a odosielame jednoduchý e-mail

Nasledujúci skript vám umožní odosielať e-mail cez SMTP server Googlu. Bohužiaľ, Google vám nepovolí prihlásiť sa cez smtplib, pretože prihlásenie označí za “menej zabezpečené.” Prihláste sa a navštívte https://myaccount.google.com/lesssecureapps, potom zapnite možnosť “Povoliť menej zabezpečené aplikácie” ako na obrázku nižšie.

Create and Send a Simple Email

Kód nižšie vykonáva tieto kroky:

  • Vytvára objekt pre pripojenie na SMTP server.
  • Prihlasuje sa na váš účet.
  • Určuje hlavičky správy a prihlasovacie údaje.
  • Vytvára objekt správy MIMEMultipart a prikladá súvisiace hlavičky do nej, napr. Od, Komu a Predmet.
  • Prikladá správu do objektu správy MIMEMultipart.
  • A nakoniec, odosiela správu.

Tento proces je tak jednoduchý, ako je zobrazený v kóde nižšie.

Všimnite si, že adresy v hlavičkách ‘Od’ a ‘Komu’ musia byť zahrnuté v hlavičkách správy.

Vytváranie a odosielanie e-mailu s prílohou

V tomto príklade si ukážeme ako odoslať e-mail s prílohou obrázka. Tento kód je podobný kódu, ktorý bol použitý na odosielanie jednoduchého textového e-mailu.

  • Vytvára objekt pre pripojenie na SMTP server.
  • Prihlasuje sa na váš účet.
  • Určuje hlavičky správy a prihlasovacie údaje.
  • Vytvára objekt správy MIMEMultipart a prikladá súvisiace hlavičky do nej, napr. Od, Komu a Predmet.
  • Číta a prikladá obrázok do objektu správy MIMEMultipart.
  • A nakoniec, odosiela správu.

Trieda MIMEImage je podtrieda triedy MIMENonMultipart, ktorá sa používa na vytváranie objektov správy obrázkového typu. Iné dostupné triedy sú
MIMEMessage a MIMEAudio.

Vytváranie a odosielanie e-mailov s HTML obsahom

Najprv si vyvoríme HTML šablónu na e-mail.

Vytváranie HTML šablóny

Tu je HTML kód šablóny, ktorý obsahuje dva stĺpce tabuľky, kde každá z nich má obrázok a ukážku obsahu. Ak máde radšej predpripravené, profesionálne riešenie, vyberte si z našich najlepších e-mailových šablón. Môžete si vybrať z množstva riešení, ktoré viete jednoducho nastaviť.

Šablóna by mala vyzerať takto:

The HTML Template

Nižšie sa nachádza skript pre odosielanie e-mailu s HTML obsahom. Obsahom bude naša šablóna pre e-maily.

Spustite tento kód, a keď sa nevyskytne žiadna chyba, váš e-mail bol odoslaný. Choďte na doručenú poštu a uvidíte váš e-mail s HTML obsahom.

Formatted HTML email

Záver

Tento návod pokryl väčšinu toho, čo je potrebné pre odosielanie e-mailov z vašej aplikácie. Existujú rôzne API pre odosielanie e-mailov, napr. SendGrid, takže vy nemusíte začať od začiatku, ale je dôležité pochopiť základy. Pre viac informácii navštívte dokumentáciu Pythonu.

Taktiež sa nebojte pozrieť sa na to, čo je dostupné na predaj v obchode Envato Market. Keď máte nejaké otázky, opýtajte sa ich pomocou komentárov nižšie.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.