Sendmail прадставіла новы API, пачынаючы з версіі 08/10 - libmilter. Sendmail 8,12 афіцыйна выпушчаны libmilter. Версія 8,12, здаецца, больш надзейныя, і ўключае ў сябе новыя функцыі падзелу прывілеяў для павышэння бяспекі. Яшчэ лепш, Sendmail 8,13 падтрымлівае раз'ём карты, што робіць pysrs значна больш эфектыўным і бяспечным. Sendmail 8,14, нарэшце, падтрымлівае змены MAIL FROM праз Milter API, а таксама дадзеныя зваротнага выкліку дазваляе спам быць адхіленая перад пачаткам фазы дадзеных (нават пасля прыняцця некаторых атрымальнікаў).
Pymilter забяспечвае Milter модуль для Python
, які рэалізуе інтэрфейс для пітона libmilter выкарыстання ўсіх сваіх магчымасцяў.
|
Цяпер Postfix таксама рэалізуе пратакол Milter, і вы можаце запраграмаваць
час SMTP-фільтры
для Postfix у Python.
Вы можаце быць абавязаны зарэгістраваць свой карыстальнікам псеўданім (нік) і вызначыць з гэтым нікам. У адваротным выпадку вы не зможаце далучыцца або быць пачутымі на канале IRC. Існуе старонка, якая апісвае, як зарэгістраваць свой нік на freenode.net.
SRS
бібліятэка, СЭС бібліятэка, Sendmail socketmap дэман рэалізацыі SRS, і (Real Неўзабаве Now) srsmilter дэман рэалізацыі SRS, зараз, калі Sendmail-8, 14 падтрымлівае CHGFROM і гэта падтрымліваецца ў pymilter-0.9.
SPF модуля, добра правераных рэалізацыі з SPF пратакол, які карысны для выяўлення падробкі электроннай пошты.
плёткі бібліятэкі і дэман сервера для Плёткі пратакол, у якім абмен рэпутацыю кваліфікаванага даменаў. (Qualified ў пакет Milter азначае, што example.com: PASS трэкаў рознай рэпутацыяй, чым example.com. Нейтральныя)
DNS бібліятэка для пітона пошуку DNS. Гэта значна менш і лягчэй, чым больш здольны (і больш)
dnspython бібліятэкі. Нізкі ўзровень пошукі неабходныя, каб знайсці ФДМ і MX запісаў, напрыклад.
На самым нізкім узроўні, Milter модуль забяспечвае тонкую абалонку вакол
Sendmail libmilter API. Гэты API дазваляе вам рэгістраваць зваротныя выклікі для шэрагу мерапрыемстваў у
працэс Sendmail атрымлівае паведамленне праз SMTP. Гэтыя мерапрыемствы ўключаюць першапачатковае злучэнне з MTA, адпраўнік канверта і атрымальнікаў, топ загалоўкі пошты узроўні, і цела паведамлення. Ёсць варыянты, каб калечыць ўсе гэтыя кампаненты паведамленні, як яна праходзіць праз Milter.
На наступным узроўні, Milter модуль (звернеце ўвагу на выпадку розніцы) забяспечвае Python дружалюбных аб'ектна-арыентаванай абалонкі для API нізкага ўзроўню. Каб выкарыстоўваць модуль Milter, прыкладанне рэгіструе «фабрыка», каб стварыць аб'ект для кожнага злучэння з MTA для Sendmail. Гэтыя аб'екты злучэнні павінны забяспечваць метадаў, якія адпавядаюць падзей libmilter зваротнага выкліку.
Кожнае падзея метад вяртае код сказаць Sendmail ці варта прыступаць да апрацоўкі паведамленні. Гэта вялікая перавага ў параўнанні з іншымі milters фільтрацыі пошты сістэм. Непажаданая пошта можа быць спынена ў бліжэйшы кропкі.
Milter.Milter клас дае рэалізацыю па змаўчанні для падзеі метады, якія нічога не робяць, а таксама падае абгорткі для libmilter метады мутаваць паведамленне.
Мім модуль забяспечвае абалонку для пакета Python электроннай пошты, які выпраўляе некаторыя памылкі, а таксама спрашчае змена асобных частак MIME паведамленне.
Нарэшце, bms.py прыкладанне як прыклад таго, як выкарыстоўваць Milter і SPF модулі і пачала агульнага прызначэння фільтрацыі спаму, праслухоўванне тэлефонных размоў, праверкі SPF і Win32 вірус абароны Milter. Ён можа выкарыстоўваць pysrs пакет, калі для SRS / SES праверкі і pydspam пакет для байесовской фільтравання змесціва. SPF праверка патрабуе pydns. Канфігурацыя дакументацыі ў цяперашні час уключаны ў якасці каментарыяў у ўзор канфігурацыйнага файла для Milter bms.py. Глядзіце таксама HOWTO і Milter Тэгі Уваход паведамленне.
Python Milter знаходзіцца пад GPL. Аўтары, верагодна, можна пераканаць змяніць на LGPL, калі неабходна.
Пакет Python Milter ўключае прыклад Milter, які замяняе небяспечныя ўкладанні з папераджальным паведамленнем, скідае пошту, адрасаваную MAILER-DAEMON, і дэманструе некалькі стратэгій барацьбы з забруджваннем СПАМ. Клас MimeMessage зрабіць гэта раней на аснове
mimetools і многофайловой Стандартны Python пакетаў. Па стане на Milter версіі 0.6.0, ён заснаваны на электронную пошту стандартных пакетаў пітона, якія былі атрыманы з
mimelib праекта. Клас MimeMessage патчы шэраг памылак у электроннай пошце пакет, а таксама прадастаўляе некаторыя зваротнай сумяшчальнасці.
"Абясшкодзілі" функцыя ўзору Milter быў натхнёны MIMEDefang, Perl Milter з гнуткімі магчымасцямі апрацоўкі укладанняў. Апошняя версія MIMEDefang выкарыстоўвае працэс апача стылі басейн, каб пазбегнуць перагрузкі Perl перакладчыка для кожнага паведамлення. Гэта робіць яго досыць хутка для вытворчасці без выкарыстання Perl патокаў.
MailChecker з'яўляецца Python праекта па забеспячэнню гнуткай апрацоўкі укладанняў для пошты. Я буду глядзець на падключэнне MailChecker ў Milter.
TMDA з'яўляецца Python праект патрабуе пацверджання ў першы раз хто-то спрабуе адправіць на свой паштовую скрыню. Гэта будзе добрая магчымасць, каб у Milter.
Існуе таксама сайт Milter супольнасці , дзе Milter праграмнага забеспячэння і крывавыя падрабязнасці API абмяркоўваюцца.
Напрыклад, функцыя HTML разбору, каб выдаліць скрыпты з HTML-ўкладання дастаткова рэсурсаў ЦП ў чыстым пітона. Выкарыстанне замены С на працягу sgmllib значна паскарае працу.
[праслухоўванне] падзел. Гэта не па карыстальніках, аднак.
Для СК паведамленне, патэлефануеце self.add_recipient (RCPT) у envfrom пасля вызначэння таго, вы хочаце скапіяваць (напрыклад, калі адпраўнік мясцовы). Напрыклад,
def envfrom(...
...
if len(t) == 2:
self.rejectvirus = t[1] in reject_virus_from
if t[0] in wiretap_users.get(t[1],()):
self.add_recipient(wiretap_dest)
if t[1] == 'mydomain.com':
self.add_recipient('<copy-%s>' % t[0])
...
Каб зрабіць гэтыя агульныя функцыі неабходна думаць аб тым, канфігурацыя будзе выглядаць. Тут Вы можаце зрабіць канкрэтныя прапановы аб канфігурацыі запісу файла. Будзьце ўпэўненыя, каб апрацоўваць як СК і копіі файлаў, а таксама вызначаць, што пошта павінна быць скапіяваныя. Як "выходных" вызначыць? Рэалізацыя гэта лёгка, калі канфігурацыя прызначаная.
Popular Links