Handle unquoted fullname when parsing email.

This commit is contained in:
Stuart Gathman
2008-01-09 20:15:49 +00:00
parent 10f4f2613e
commit 632e7b4248
3 changed files with 33 additions and 3 deletions
+21
View File
@@ -4,6 +4,8 @@ import socket
import email.Errors
from fnmatch import fnmatchcase
from email.Header import decode_header
#import email.Utils
import rfc822
ip4re = re.compile(r'^[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*$')
@@ -40,6 +42,25 @@ def iniplist(ipaddr,iplist):
return True
return False
def parseaddr(t):
"""Split email into Fullname and address.
>>> parseaddr('user@example.com')
('', 'user@example.com')
>>> parseaddr('"Full Name" <foo@example.com>')
('Full Name', 'foo@example.com')
>>> parseaddr('spam@viagra.com <foo@example.com>')
('spam@viagra.com', 'foo@example.com')
"""
#return email.Utils.parseaddr(t)
res = rfc822.parseaddr(t)
if not res[0]:
pos = t.find('<')
if pos > 0:
return rfc822.parseaddr('"%s" %s' % (t[:pos].strip(),t[pos:]))
return res
def parse_addr(t):
"""Split email into user,domain.