SMTPRoutes Güvenli-smtpd üstüne inşa hafif bir SMTP sunucusu.
Bu Sinatra ve SMTP bir bebek vardı eğer olsun istiyorum ne.
Rotalar
Rotalar rota kwarg sağlanan bir regex yoluyla belirlenir.
smtproutes gelen Güzergah ithal
sınıf ExampleRoute (Güzergah):
& Nbsp; def my_route (öz, rota = r'myroute @ * '.):
& Nbsp; baskı self.mailfrom.email
Çağrıldığında bir rota aşağıdaki örnek değişkenleri erişebilir:
- Çözümlü e-posta mesajı self.mesaj.
- Self.mailfrom mesajı alındı kimin gösteren bir iletişim nesnesi.
- Kime çıkarılan kişi nesneleri bir dizi self.tos.
- CC alanında çıkarılan kişi nesneleri bir dizi self.ccs.
- Gizli alanına çıkarılan kişi nesneleri bir dizi self.bccs.
Rota regex belirtilen herhangi bir adlandırılmış gruplar örnek değişkenleri olarak kullanılabilirler olacaktır.
sınıf ExampleRoute (Güzergah):
& Nbsp; def open_route (öz, rota = r '(POPEN) @ (P. *)?'):
& Nbsp; print "% s% s mesaj gönderdi: n n% s"% (
& Nbsp; self.prefix,
& Nbsp; self.suffix,
& Nbsp; self.mesaj
& Nbsp;)
Gönderen Kimlik Doğrulama
E-posta sızdırma saldırılarına karşı savunmasız olduğunu. SMTPRoutes bu karşı korumak için bir kimlik doğrulama nesne sağlamamıza olanak tanır.
Bir kimlik doğrulama sınıfı, bir rota sender_auth kwarg sağlanabilir.
def spf_route (öz, rota = r '(Pspf) @ (P. *)? ", sender_auth = SPFAuth):
& Nbsp; print "% s% s mesaj gönderdi: n n% s"% (
& Nbsp; self.prefix,
& Nbsp; self.suffix,
& Nbsp; self.mesaj
& Nbsp;)
Şu anda aşağıdaki gönderici kimlik doğrulama yöntemleri desteklenmektedir:
- DKIMAuth bir DKIM imza kullanarak doğrular.
- SPFAuth SPF kaydı kullanılarak doğrular.
- GmailSPFAuth olursa olsun gönderici (Google Apps için yararlı) bir, Google'ın SPF kayıtları karşı doğrular.
Herhangi bir rota adı verilecek geçmek eğer, sender_auth kwarg içinde birden fazla kimlik doğrulama yaklaşımları sağlayabilir:
def (öz, rota = r '? (Pspf_google) @ (P. *)', sender_auth = [SPFAuth, GmailSPFAuth]) google_apps_spf_route:
& Nbsp; print "% s% s mesaj gönderdi: n n% s"% (
& Nbsp; self.prefix,
& Nbsp; self.suffix,
& Nbsp; self.mesaj
& Nbsp;)
Koşu Sunucu
Sunucu ince Güvenli-smtpd üstüne soyutlama (https://github.com/bcoe/secure-smtpd) dolayısıyla geçerli:
- SSL desteklenmektedir.
- Temel SMTP kimlik doğrulaması desteklenir.
Güvenli-smtpd projede belirtilen aynı seçenekleri kullanarak sunucuya bir örneğini oluşturun.
smtproutes ithalat Server
Sunucu = Sunucu (('0.0.0.0', 25), Yok)
Sunucu oluşturulduktan sonra, onunla yolları kayıt ve çalışan başlatabilirsiniz:
example_route ithalat ExampleRoute gelen
server.add_route (ExampleRoute)
server.start ()
. Sunucu artık gelen SMTP iletileri için bağlantı noktası 25 dinleyen olacak
Gereksinimler :
- Python
Yorum Bulunamadı