Пример #1
0
class SMTPSerialiser(object):
    """
    Utility class to proxy SMTP data from mock to boss.

    It is used to serialise SMTP data as JSON data.
    """
    def __init__(self, **kwargs):
        self.data = kwargs
        email = ensure_is_python_string(self.data['data'])
        self.message = Parser().parsestr(email)

    def serialize(self):
        return json.dumps(self.data)

    def __getitem__(self, key):
        return self.message.__getitem__(key)

    @property
    def content(self):
        payload = self.message.get_payload(decode=True)
        return ensure_is_python_string(payload)

    @property
    def subject(self):
        subj = email_lib.header.decode_header(self.message['Subject'])[0][0]
        return ensure_is_python_string(subj)
Пример #2
0
class SMTPSerialiser(object):
    """
    Utility class to proxy SMTP data from mock to boss.

    It is used to serialise SMTP data as JSON data.
    """
    def __init__(self, **kwargs):
        self.data = kwargs
        self.message = Parser().parsestr(self.data['data'])

    def serialize(self):
        return json.dumps(self.data)

    def __getitem__(self, key):
        return self.message.__getitem__(key)

    @property
    def content(self):
        return self.message.get_payload()
Пример #3
0
def cb_action_DEFER(module, filepath):
    log.info(_("Deferring message in %s (by module %s)") % (filepath, module))

    # parse message headers
    message = Parser().parse(open(filepath, 'r'), True)

    internal_time = parsedate_tz(message.__getitem__('Date'))
    internal_time = time.mktime(internal_time[:9]) + internal_time[9]

    now_time = time.time()

    delta = now_time - internal_time

    log.debug(_("The time when the message was sent: %r") % (internal_time), level=8)
    log.debug(_("The time now: %r") % (now_time), level=8)
    log.debug(_("The time delta: %r") % (delta), level=8)

    if delta > 432000:
        # TODO: Send NDR back to user
        log.debug(_("Message in file %s older then 5 days, deleting") % (filepath), level=8)
        os.unlink(filepath)
Пример #4
0
def cb_action_DEFER(module, filepath):
    log.info(_("Deferring message in %s (by module %s)") % (filepath, module))

    # parse message headers
    message = Parser().parse(open(filepath, 'r'), True)

    internal_time = parsedate_tz(message.__getitem__('Date'))
    internal_time = time.mktime(internal_time[:9]) + internal_time[9]

    now_time = time.time()

    delta = now_time - internal_time

    log.debug(_("The time when the message was sent: %r") % (internal_time),
              level=8)
    log.debug(_("The time now: %r") % (now_time), level=8)
    log.debug(_("The time delta: %r") % (delta), level=8)

    if delta > 432000:
        # TODO: Send NDR back to user
        log.debug(_("Message in file %s older then 5 days, deleting") %
                  (filepath),
                  level=8)
        os.unlink(filepath)