Exemple #1
0
    def __parse_post(self, flow, buf):
        d = self.get_postvars(buf)
        hdrs = [(k, d[k][0]) for k in ('From', 'To', 'Cc', 'Subject')
                if k in d and d[k][0]]
        body = d['PlainBody'][0]
        if hdrs and body:
            self.publish_email(hdrs, body)

    def __parse_get(self, flow, buf):
        hdrs, body = [], None
        for line in buf.splitlines():
            m = self.msg_re.match(line.strip())
            if m:
                k, v = m.group('k'), m.group('v')
                if k in self.hdr_map:
                    v = json.parse(v)
                    if v: hdrs.append((self.hdr_map[k], v))
                elif k == 'body':
                    body = json.parse(v)
        if hdrs and body:
            self.publish_email(hdrs, body)


class AOLMailHandler(_webmail.Handler):
    name = 'aolmail'
    parser = AOLMailParser


if __name__ == '__main__':
    dsniff.test()
Exemple #2
0
    def __parse_post(self, flow, buf):
        d = self.get_postvars(buf)
        if 'FMC-MsgMessage' in d:
            hdrs = [ ('To', d['FMC-MsgTo'][0]),
                     ('Subject', d['FMC-MsgSubject'][0]),
                     ('Cc', d['FMC-MsgCc'][0]) ]
            body = d['FMC-MsgMessage'][0]
            if hdrs and body:
                self.publish_email(hdrs, body)

    def __parse_get(self, flow, buf):
        hdrs = []
        for k, v in self.hdr_re.findall(buf):
            k = k.strip(' ')
            if ' ' not in k:
                v = html.decode(html.strip(v))
                v = v.strip(' [Add]') # XXX - addrs
                v = v.split(' \xa0')[0] # XXX - date
                hdrs.append((k, v))
        m = self.body_re.search(buf)
        if hdrs and m:
            self.publish_email(hdrs, m.group('body'))

class FastmailHandler(_webmail.Handler):
    name = 'fastmail'
    parser = FastmailParser

if __name__ == '__main__':
    dsniff.test()