SMTPRoutes Secure-SMTPD üst inşa yüngül SMTP server edir.
Bu Sinatra və SMTP bir körpə idi əgər siz almaq istədiyiniz nə deyil.
Marşrutlar
Marşrutlar marşrutu kwarg təmin bir regex vasitəsilə müəyyən edilir.
smtproutes olan Route idxal
class ExampleRoute (Route):
& Nbsp; def my_route (özünü, marşrut = r'myroute @ *.):
& Nbsp; print self.mailfrom.email
Tələb zaman marşrut aşağıdakı instansiya dəyişənlərin daxil olacaq:
- Ayrıştırılan e-poçt mesajı self.message.
- Self.mailfrom mesaj alınan edən göstərən bir əlaqə obyekt.
- Sahəsində To hasil əlaqə obyektlərin bir sıra self.tos.
- CC yatağından hasil əlaqə obyektlərin bir sıra self.ccs.
- BCC yataqdan hasil əlaqə obyektlərin bir sıra self.bccs.
Marşrut regex müəyyən edilmiş hər hansı adlı qruplar instansiya dəyişənlər kimi availble olacaq.
class ExampleRoute (Route):
& Nbsp; def open_route (özünü, marşrut = r (Sərbəst) @ (P. *)?):
& Nbsp; print "% s% s mesaj göndərdi: n n% s"% (
& Nbsp; self.prefix,
& Nbsp; self.suffix,
& Nbsp; self.message
& Nbsp;)
Sender Authentication
Email spoofing hücumlara məruz qalır. SMTPRoutes bu qarşı qorumaq üçün identifikasiyası obyekt təmin edir.
Bir identifikasiyası sinif marşrutu sender_auth kwarg təmin edilə bilər.
def spf_route (özünü, marşrut = r (Pspf) @ (P. *)? "sender_auth = SPFAuth):
& Nbsp; print "% s% s mesaj göndərdi: n n% s"% (
& Nbsp; self.prefix,
& Nbsp; self.suffix,
& Nbsp; self.message
& Nbsp;)
Hal-hazırda aşağıdakı göndərən identifikasiyası üsulları dəstəklənir:
- DKIMAuth bir DKIM imza istifadə doğruladığı.
- SPFAuth bir SPF rekord istifadə doğruladığı.
- GmailSPFAuth asılı olmayaraq göndərən (Google Apps üçün faydalı), Google SPF qeydlər qarşı doğruladığı.
Hər hansı bir marşrut adlanacaq keçmək əgər, sender_auth kwarg çox identifikasiyası yanaşmalar təmin edə bilər:
def (özünü, marşrut = r '? (Pspf_google) @ (P. *), sender_auth = [SPFAuth, GmailSPFAuth]) google_apps_spf_route:
& Nbsp; print "% s% s mesaj göndərdi: n n% s"% (
& Nbsp; self.prefix,
& Nbsp; self.suffix,
& Nbsp; self.message
& Nbsp;)
Running Server
server nazik Secure-SMTPD üst abstraksiya (https://github.com/bcoe/secure-smtpd), buradan edir:
- SSL dəstəklənir.
- Əsas SMTP identifikasiyası dəstəklənir.
Təhlükəsiz-smtpd layihəsində göstərilən eyni variantları istifadə edərək server bir misal yaradın.
smtproutes idxal Server
server = Server ((0.0.0.0 ", 25), None)
Server yaradılmışdır sonra, siz bu marşrutları qeydiyyatdan çalışan başlaya bilərsiniz:
example_route idxal ExampleRoute dən
server.add_route (ExampleRoute)
server.start ()
. server indi gelen SMTP mesajlar üçün port 25 dinləmək olacaq
tələblər
- Python
Şərhlər tapılmadı