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()
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()