SMTPRoutes er en lett SMTP-server bygget på toppen av Secure-SMTPD.
Det er hva du ville få hvis Sinatra og SMTP hadde en baby.
Ruter
Ruter er spesifisert via en regex gitt i ruten kwarg.
fra smtproutes importere Route
klasse ExampleRoute (Route):
& Nbsp; def my_route (selv, rute = r'myroute @ * '.):
& Nbsp; print self.mailfrom.email
Når det blir kjørt en rute vil ha tilgang til følgende instansvariabler:
- Self.message den analyserte e-postmelding.
- Self.mailfrom en kontakt objekt som indikerer hvem meldingen ble mottatt fra.
- Self.tos en rekke kontakt gjenstander hentet fra Til-feltet.
- Self.ccs en rekke kontakt gjenstander hentet fra Kopi-feltet.
- Self.bccs en rekke kontakt gjenstander hentet fra BCC-feltet.
Noen navngitte grupper som er angitt i ruten regex vil være plasser som instansvariabler.
klasse ExampleRoute (Route):
& Nbsp; def open_route (selv, rute = r '(popen) @ (P. *)?? "):
& Nbsp; print "% s på% s sendte meldingen: n n% s"% (
& Nbsp; self.prefix,
& Nbsp; self.suffix,
& Nbsp; self.message
& Nbsp;)
Avsender Autentisering
E-post er utsatt for forfalskning angrep. SMTPRoutes lar deg angi et godkjennings objekt for å beskytte mot disse.
En godkjennings klasse kan bli gitt i sender_auth kwarg av en rute.
def spf_route (selv, rute = r '(Pspf) @ (P. *)?', sender_auth = SPFAuth):
& Nbsp; print "% s på% s sendte meldingen: n n% s"% (
& Nbsp; self.prefix,
& Nbsp; self.suffix,
& Nbsp; self.message
& Nbsp;)
Tiden følgende avsenderautentiseringsmetoder støttes:
- DKIMAuth autentiserer bruker en DKIM signatur.
- SPFAuth autentiserer ved hjelp av en SPF-post.
- GmailSPFAuth autentiserer mot Googles SPF-poster, uavhengig av avsender (nyttig for Google Apps).
Du kan gi flere godkjennings tilnærminger i sender_auth kwarg, hvis noen passerer ruten vil bli kalt:
def google_apps_spf_route (selv, rute = r '(Pspf_google) @ (P. *)?', sender_auth = [SPFAuth, GmailSPFAuth]):
& Nbsp; print "% s på% s sendte meldingen: n n% s"% (
& Nbsp; self.prefix,
& Nbsp; self.suffix,
& Nbsp; self.message
& Nbsp;)
Kjøre en server
Serveren er en tynn abstraksjon på toppen av Secure-SMTPD (https://github.com/bcoe/secure-smtpd) derav:
- SSL støttes.
- Grunnleggende SMTP-autentisering er støttet.
Opprette en forekomst av serveren ved hjelp av de samme alternativene som er angitt i den sikre-smtpd prosjektet.
fra smtproutes import Server
server = Server (('0.0.0.0', 25), Ingen)
Når serveren er opprettet, kan du registrere ruter med det og starte den i gang:
fra example_route import ExampleRoute
server.add_route (ExampleRoute)
server.start ()
. Serveren vil nå være å lytte på port 25 for inngående SMTP-meldinger
Krav :
- Python
Kommentarer ikke funnet