Most unix mail systems prohibit the following set of characters in mail names
Some prevent even more characters.
These characters are all special to the shell and could potentially be used
to create a security hole.
David Herron commented:
Any such mail systems which do so are *broken*.
I'm not convinced by this. Broken with respect to what?
Clearly < > ( and ) are all used up by RFC822, and , (comma) and : (colon)
are used to delimit multiple addresses, and also used in the sendmail mail
alias file format. You can't have a : in a Unix user name or mail name,
because /etc/passwd, which contains the list of user names, uses colons to
separate fields. The ! is used by uucp.
The remainder -- `;&|^ -- are not prevented, but it would be very irritating
to be using Unix with a usercode that included any of them, as you'd have
to quote them all the time when using the shell.
The underlying mail system does not in fact prevent such a mail address,
althugh some uucp-based mail systems might be unable to deliver it.
I just created a user called `;&|^ on my SunOS system,
and sent mail to that account, and it worked fine, using both smail and
sendmail for routing, and /bin/mail, the BSD Mail/mailx, and mailtool.
sqlee!lee> ls -l /usr/spool/mail
-rw------- 1 `;&|^ 1291 Apr 29 21:59 `;&|^
-rw-r--r-- 1 lee 6457920 Apr 29 21:58 lee
The assertion that `most unix mail systems prohibit...' appears to me to be
untenable, not because I have shown one counter-example, but because the
software I'm using is common to most Unix systems...
On the other hand, preventing the use of such characters isn't necessarily
broken with respect to the Unix mail system... if this is documented!
In any event, I'd advise avoiding punctuation where possible.
You really *can't* use < > ( ) = / ! @ $ : " ' \ . safely in mail addresses,
as they all mean things to do with mail routing or address parsing on various
systems. There are probably other characters to avoid, too.
Liam Quin, Manager, Contracts Dept., SoftQuad Inc, +1 416 239 4801
OPEN LOOK UI FAQ; Metafont list; HexSweeper NeWS game; lq-text text retrieval