Stop over-eager splitting of message prefix
RFC2812 allows usernames to contain ! and . characters, which means
parse_from used to split those up into multiple elements, thus failing
the pattern match which expected the username to be a single string.
Instead of prematurely splitting up the string, use a regexp that allows
the username to contain any character but @.