def email_address(user=None):
if not user:<EOL><INDENT>user = user_name()<EOL><DEDENT>else:<EOL><INDENT>user = user.strip().replace('<STR_LIT:U+0020>', '<STR_LIT:_>').lower()<EOL><DEDENT>return user + '<STR_LIT:@>' + domain_name()<EOL>
Random e-mail address in a hopefully imaginary domain.

If `user` is ``None`` :py:func:`~user_name()` will be used. Otherwise it 
will be lowercased and will have spaces replaced with ``_``.

Domain name is created using :py:func:`~domain_name()`.