- def __addr_list(addrs):
- m = re.search('[^@\s<,]+@[^>\s,]+', addrs);
- if (m == None):
- return []
- return [ m.group() ] + __addr_list(addrs[m.end():])
-
- from_addr_list = []
- to_addr_list = []
- for line in addresses.split('\n'):
- if re.match('from:\s+', line, re.I):
- from_addr_list += __addr_list(line)
- elif re.match('(to|cc|bcc):\s+', line, re.I):
- to_addr_list += __addr_list(line)
+ def __addr_list(msg, header):
+ return [name_addr[1] for name_addr in
+ email.Utils.getaddresses(msg.get_all(header, []))]