Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Листинг 1
#!/usr/bin/python2
"""
Пример Milter, на основе которого можно написать собственный фильтр для почты.
"""
import sys, os, Milter, tempfile, re, traceback
from time import strftime, time, localtime
def dbg_except():
"""Функция, которую можно ставить в части except: оператора try-except для отладки"""
sys.stderr.write(strftime(“%Y%m%d%H%M%S “) +
"".join(apply(traceback.format_exception, sys.exc_info())))
class ExampleMilter(Milter.Milter):
"""Класс, каждый объект которого отвечает за одно соединение."""
def log(self, *msg):
print "%s [%d] %s" % (strftime(“%Y%m%d%H%M%S”), self.id, " ".join(map(str, msg)))
def __init__(self):
self.tempname=self.mailfrom=self.connfrom=self.fp=None
self.id = Milter.uniqueID()
def connect(self, hostname, unused, hostaddr):
"""Вызывается при установке SMTP-соединения"""
self.log("connect: %s, %s" % (hostname, hostaddr))
# Здесь можно сразу проверить и отклонить:
# return Milter.REJECT
return Milter.CONTINUE
def hello(self,hostname):
"""Вызывается после команды HELO"""