SMTPRoutes er en letvægts SMTP-server bygget oven på Secure-SMTPD.
Det er, hvad du ville få, hvis Sinatra og SMTP havde en baby.
Ruter
Ruter er angivet via en regex tilvejebragt i ruten kwarg.
fra smtproutes importerer Route
class ExampleRoute (Rute):
& Nbsp; def my_route (self, rute = r'myroute @ * «.):
& Nbsp; print self.mailfrom.email
Når påberåbes en rute vil få adgang til følgende instansvariabler:
- Self.message den parset e-mail.
- Self.mailfrom en kontakt objekt angiver hvem meddelelsen blev modtaget fra.
- Self.tos en række kontaktpersoner objekter ekstraheret fra feltet.
- Self.ccs en række kontaktpersoner objekter ekstraheret fra CC feltet.
- Self.bccs en række kontaktpersoner objekter ekstraheret fra BCC feltet.
Eventuelle navngivne grupper er angivet i ruten regex bliver availble som instansvariabler.
class ExampleRoute (Rute):
& Nbsp; def open_route (self, rute = R '(popen) @ (P. *)? "):
& Nbsp; print "% s ved% s sendt meddelelsen: n n% s"% (
& Nbsp; self.prefix,
& Nbsp; self.suffix,
& Nbsp; self.message
& Nbsp;)
Afsender Godkendelse
E-mail er sårbare over for spoofing angreb. SMTPRoutes giver dig mulighed for at give en godkendelse objekt for at beskytte mod disse.
En godkendelse klasse kan leveres i sender_auth kwarg af en rute.
def spf_route (self, rute = R '(Pspf) @ (P. *)? «, sender_auth = SPFAuth):
& Nbsp; print "% s ved% s sendt meddelelsen: n n% s"% (
& Nbsp; self.prefix,
& Nbsp; self.suffix,
& Nbsp; self.message
& Nbsp;)
I øjeblikket følgende afsender godkendelsesmetoder understøttes:
- DKIMAuth godkender anvendelse af en DKIM signatur.
- SPFAuth godkender brug af en SPF-post.
- GmailSPFAuth godkender imod Googles SPF-poster, uanset afsender (nyttigt for Google Apps).
Du kan give flere authentication metoder i sender_auth kwarg eventuelle passerer ruten vil blive kaldt:
def google_apps_spf_route (self, rute = R '(Pspf_google) @ (P. *)? «, sender_auth = [SPFAuth, GmailSPFAuth]):
& Nbsp; print "% s ved% s sendt meddelelsen: n n% s"% (
& Nbsp; self.prefix,
& Nbsp; self.suffix,
& Nbsp; self.message
& Nbsp;)
Kørsel af en server
Serveren er en tynd abstraktion oven på Secure-SMTPD (https://github.com/bcoe/secure-smtpd) fremme:
- SSL understøttes.
- Grundlæggende SMTP-godkendelse er understøttet.
Opret en forekomst af serversoftwaren ved hjælp af de samme indstillinger, der er specificeret i den sikre-smtpd projekt.
fra smtproutes import Server
server = Server ((»0.0.0.0«, 25), Ingen)
Når serveren er oprettet, kan du registrere ruter med det og starte det kører:
fra example_route import ExampleRoute
server.add_route (ExampleRoute)
server.start ()
. Serveren vil nu være at lytte på port 25 for indgående SMTP-beskeder
Krav :
- Python
Kommentarer ikke fundet