Python - 06 - Email küldése Pythonnal nem csak Pythonosoknak
Az emailküldés mindössze pár sor egy jól megválasztott libraryvel. A tanfolyamon ennél tovább megyünk, és megvizsgáljuk az SMTP-protokollt közelebbről. 465 vagy 587-es port? SSL vagy TLS? OAuth2? Dekoratív levél küldése scriptből: HTML-levelek.
HELO() vagy inkább EHLO()
Ha csak "találomra", az első kezed ügyébe kerülő libraryval küldtél eddig email-t, és ez vagy sikerült vagy nem, itt az ideje hogy megnézd közelebbről is az SMTP-kommunikációt! Ha soha nem értetted pontosan, hogy milyen porton és hogyan kommunikál a kliens és a szerver, csak addig rugdostad a stackoverflowról bemásolt kódot, amíg meg nem mozdult :) de ennél többet szeretnél, akkor ez a tanfolyam neked szól!
Az SMTP-protokoll egy egyszerű, szöveges protokoll, ahogyan a neve is árulkodik róla. Semmi titkosítás, semmi flancos szabályrendszer.
1997-ben bevezették az SMTPS-t, ami a kapcsolat elején egy SSL csatornába tuszkol minden adatot, így titkosítva azt, majd rá kevesebb mint két éven belül, hivatalosan meg is szüntették. Ez a kommunikáció a 465-ös portot használta a kliens és a szerver között, de még így 20 évvel a betiltása után is, a protokoll köszöni szépen jól van, annak ellenére, hogy a legtöbb helyen „deprecated” - azaz valamikor a jövőben megszüntetik a támogatását. De hát miért „szüntették be”?
Kompatibilitási okok miatt. Inkább úgy döntött az IANA, hogy a kommunikáció felvétele menjen a „megszokott” módon, és ha a szerver támogatja a fejlettebb kommunikációt, akkor menjen titkosítva. Itt vezették be az ehlo() köszönést a helo() helyett. Majd a STARTTLS() parancs után minden titkosítottan megy a hálón, az 587-es porton. Ez a hivatalos portja a levélküldésnek.
Miért nézzük meg mégis a 465-ös porton való emailküldést is? Mi a különbség az SSL és a TLS között? Hogyan küldjünk HTML-formátumú leveleket? NetCattel mindent is! lehet, de email-t is lehet vele „fogni”? OAuth2? Mind kiderül a tanfolyamon...
- Minimális Python előismeret nem árt. Ha más nyelvekben már küldtél emailt, az kifejezetten jól jöhet itt is.
- Azoknak ajánljuk, akik nemcsak azt a pár sort keresik a neten, amivel emailt lehet küldeni, hanem érteni is szeretnék, hogy mit is csinálnak pontosan.
- Az emailküldésen kívül tudni fogod mikor használj 465-ös, és mikor 587-es portot.
- HTML levélküldés után rájössz, hogy jó az a Mailchimp :) és az OAuth2 megismerése után, többé nem jelszavakat fogsz küldözgetni a hálón!
-
Előkészületek
Betekintés ingyen
-
1. Config és Python fájl egy könyvtárban
Betekintés ingyen
-
2. YAML és configfájl beolvasása
Betekintés ingyen
-
3. Yagmail telepítése PIP-pel
Betekintés ingyen
-
4. Levélküldése ya! gmaille!l 2 percben - figyeld a kezemet, mert csalok!
Betekintés ingyen
-
5. Gmail felkészítése levélküldésre, "less secure app" engedélyezése
Betekintés ingyen
-
6. Attachment yagmaillel, Gmailre optimalizálva
Betekintés ingyen
- 7. Levél küldése smtplibbel 465-ös porton, amiről még most azt hisszük hogy SSL
- 8. Levél elküldése, hibakeresés, stack olvasása
- 9. Levélküldés STARTTLS-sel 587-es porton
- 10. Emailküldés 465 vagy 587-es porton, de mi a különbség?
- 11. A TLS az valójában egy új SSL, az SSL meg egy régi TLS
- 12. 465-ös vagy 587-es portot használjam?
- 13. A színfalak mögött SSL-t vagy TLS-t használunk? Megnézzük a leveleink valódi tartalmát
- x. Csak hekkerpalántáknak: Gmail kényszerítése SSL használatára
- 14. Én a 465-ös porton fogok TLS-t használni a teljes kapcsolatra
- 15. Emailmessage() osztállyal könyebb az SMTP specifikáció
- 16. Attachment hozzáadása - a nehezebb úton
- 17. Fájltípus meghatározása a rend kedvéért
- 18. Több attachment küldése egyszerre
- 19. Több embernek emailküldés, 1 Gmaillel szimuláljunk több email címet!
- 20. HTML-formátumú levél küldése plan/text mellett
- 21. Gmailben HTML és plan/text levél ellenőrzése, original source-szal
- 22. Configfájl felkészítése beágyazott képekre. cid: Content ID-val
- 23. HTML oldal küldése beágyazott képekkel
- 24. Email kliensek HTML-támogatása változó
- 25. Beépített SMTP szerver teszteléshez
-
26. NetCattel leveleket elkapni őrültség, de végülis lehet
Betekintés ingyen
- OAuth2 előszó
- 26. Mese az OAuthról
- 27. Oauth2 igénylése Gmailhez
- 28. Root certificate Pythonhoz
- 29. Oauth2 fájl generálása és használata levélküldéshez
- Tesztkérdések
Vélemények
email Pythonból
Nagyon jól felépített, érthető tanfolyam.
Email küldés könnyedén
Nagyon jól átgondolt, felépített és megvalósított tanfolyam! Rengeteget tanultam belőle! Ajánlom mindenkinek! Az előadás nagyon jól követhető, élvezetes!
Értékelés
Az oktatóról
Anyatejjel szívtam magamba az informatikát, Basic, Pascal, Delphi, .NET C#, Smalltalk után Pythonban élem az életem, a C mindig jó barát volt, a JavaScriptől ódzkodom, a HTML-hez kontár módon értek. A hálózatok mindig is érdekeltek, a Doom-ot még IPX/SPX-szel játszottuk hálóban. Mindig is vonzott a hackelés, jó móka volt az ARP poisoning, sokszor debuggolok Wiresharkkal meg Burppel, bár saját, élesben bevetett exploitot még nem írtam. Az SQL mindig ott volt mint jó társ, ma pedig körülöttem, és ahogyan világ körül is, az AI lebeg. Értem, hogy egyenlőre még nincs mesterséges intelligencia, nem kell félni! Hogy holnap mi lesz? Azt csak a NetAcademia tudja :P