SMTPRoutes je lehký SMTP server postavený na vrcholu Secure-smtpd.
To je to, co bych si, zda Sinatra a SMTP narodilo dítě.
Trasy
Trasy jsou specifikovány pomocí regulární výraz poskytnuté na trase kwarg.
od smtproutes importovat trasu
třída ExampleRoute (Cesta):
& Nbsp; def my_route (self, cesta = r'myroute @ *. "):
& Nbsp; print self.mailfrom.email
Po vyvolání trasa bude mít přístup k těmto proměnných instance:
- Self.message analyzovanou e-mailovou zprávu.
- Self.mailfrom kontakt předmět označující který byla zpráva přijata z.
- Self.tos pole kontaktních předmětů získaných z pole Komu.
- Self.ccs pole kontaktních předmětů získaných z CC pole.
- Self.bccs pole kontaktních předmětů získaných z oblasti BCC.
Všechny jmenované skupiny uvedené v trase regulární výraz bude availble jako proměnné instance.
třída ExampleRoute (Cesta):
& Nbsp; def open_route (self, cesta = r '(popen) @ (P. *)? "):
& Nbsp; print "% s% s poslal zprávu: n n% s"% (
& Nbsp; self.prefix,
& Nbsp; self.suffix,
& Nbsp; self.message
& Nbsp;)
Ověření Sender
E-mail je náchylné k spoofing útokům. SMTPRoutes umožňuje poskytnout objekt ověřování pro ochranu proti nim.
Třída ověření mohou být poskytovány v sender_auth kwarg trasy.
def spf_route (self, cesta = r '(Pspf) @ (P. *)? ", sender_auth = SPFAuth):
& Nbsp; print "% s% s poslal zprávu: n n% s"% (
& Nbsp; self.prefix,
& Nbsp; self.suffix,
& Nbsp; self.message
& Nbsp;)
V současné době jsou podporovány tyto odesílatel metody ověřování:
- DKIMAuth ověřuje pomocí podpisu DKIM.
- SPFAuth ověřuje pomocí SPF záznam.
- GmailSPFAuth ověřuje proti SPF záznamů Google, bez ohledu na odesílatele (vhodné pro Google Apps).
Můžete poskytnout více ověřovacích přístupů v sender_auth kwarg, případně projít trasa se bude jmenovat:
def google_apps_spf_route (self, route = r '(Pspf_google) @ (P. *)? ", sender_auth = [SPFAuth, GmailSPFAuth]):
& Nbsp; print "% s% s poslal zprávu: n n% s"% (
& Nbsp; self.prefix,
& Nbsp; self.suffix,
& Nbsp; self.message
& Nbsp;)
Běh Server
Server je tenký abstrakce na vrcholu Secure-smtpd (https://github.com/bcoe/secure-smtpd), proto:
- SSL je podporována.
- Je podporována základní SMTP autentizace.
Vytvoření instance serveru pomocí stejné možnosti uvedené v bezpečné-smtpd projektu.
od smtproutes dovozu serveru
server = Server (("0.0.0.0", 25), None)
Po vytvoření serveru, můžete se zaregistrovat trasy s ní a spusťte jej příkazem:
od example_route dovozu ExampleRoute
server.add_route (ExampleRoute)
server.start ()
. Server bude nyní naslouchá na portu 25 pro příchozí zprávy protokolu SMTP
Požadavky na :
- Python
Komentáře nebyl nalezen