I found it always helpful to think about a logic/algorithm how i would implement it myself, before using someone else's code.
Get incoming string containing the email-address
parse the string looking for the "<"-character
from that position+1 parse the string further looking for the ">"-character.
now you've found your token containing the address
a further check if the token contains one (and only one) "@"-symbol by splitting the token along the @-character
the lower part is the name the upper part the domain
checking the domain if it at least contains one dot "."-character (2 or more if it's coming from subdomains (e.g. myname@sub.domain.com)
And what do you know?
I've written such a splitfunction as an excercise to get familiar with Pascal.
EDIT: I've just read your link.
I didn't know that you could use the @-symbol in the local part if you escape or quote it!!