Python - E-mail
Odesílání e-mailu
Odesílání e-mailů je velice jednoduché. Můžete se podívat na oficiální příklady pro Python 2.7 nebo Python 3.x.
Tyto příklady ukazují, jak poslat email přes SMTP
nainstalovaný na vašem počítači
(localhost):
import smtplib
from email.mime.text import MIMEText
msg = MIMEText("Dobry den!\nTelo emailu\nS pozdravem ...")
msg['Subject'] = 'Hlavicka emailu'
msg['From'] = 'odesilatel@example.com'
msg['To'] = 'prijemce@example.com'
# Odeslani emailu pres lokalni SMTP server
s = smtplib.SMTP('localhost')
# s.send_message(msg) # Takto jednoduse to jde od vezrze pythonu 3.2
s.sendmail(msg['From'], [msg['To']], msg) # po staru
s.quit()
from email.mime.text import MIMEText
msg = MIMEText("Dobry den!\nTelo emailu\nS pozdravem ...")
msg['Subject'] = 'Hlavicka emailu'
msg['From'] = 'odesilatel@example.com'
msg['To'] = 'prijemce@example.com'
# Odeslani emailu pres lokalni SMTP server
s = smtplib.SMTP('localhost')
# s.send_message(msg) # Takto jednoduse to jde od vezrze pythonu 3.2
s.sendmail(msg['From'], [msg['To']], msg) # po staru
s.quit()
Tohle ale bude fungovat, jen pokud máte funkční lokální SMTP server. V OpenSuSE můžete použit YaST pro konfiguraci SMTP serveru, ale většinou instalace a nastavení SMTP serveru poměrně složité.
Následující příklad ukazuje, jak poslat email přes vzdálený server. Musíte si zjistit jen jméno serveru, přihlašovací jméno a heslo. (Stejné údaje, jaké potřebujete pro nastavení nějakého poštovního klienta, abyste mohli posílat email.)
Odeslání emailu pak vypadá nějak takto:
>>> import smtplib
>>> from email.mime.text import MIMEText
>>> msg = MIMEText("... telo emailu ...")
>>> msg['subject'] = 'Nejaky titulek'
>>> msg['from'] = 'odesilatel@example.com'
>>> msg['To'] = 'prijemce@example.com'
>>> s = smtplib.SMTP('smtp.centrum.cz', 587) #587 je port, muze byt 25 nebo tak neco
>>> s.login("vas email@centrum.cz",'vase heslo')
(235, 'Authentication succeeded')
>>> s.sendmail('vas email@centrum.cz',['prijemce@example.com'], msg.as_string())
{}
>>> from email.mime.text import MIMEText
>>> msg = MIMEText("... telo emailu ...")
>>> msg['subject'] = 'Nejaky titulek'
>>> msg['from'] = 'odesilatel@example.com'
>>> msg['To'] = 'prijemce@example.com'
>>> s = smtplib.SMTP('smtp.centrum.cz', 587) #587 je port, muze byt 25 nebo tak neco
>>> s.login("vas email@centrum.cz",'vase heslo')
(235, 'Authentication succeeded')
>>> s.sendmail('vas email@centrum.cz',['prijemce@example.com'], msg.as_string())
{}