Why does LISTSERV consider case? Shouldn't subscriber addresses be evaluated as case-insensitive? For instance, if I have an address on the list as joe@example.org, why does LISTSERV allow the address JOE@example.org to be added?


According to the Internet RFCs for mail (RFC821 and following), the "local part" of any e-mail address -- the part to the left of the "@" sign -- MUST be considered case-sensitive. This is because long ago, when the mail standards were written, it was thought that it might be useful to allow a mail system to let mail addressed to (for instance) joe and JOE and JoE to be routed to different mailboxes (ie, for different local users who happened to be named "Joe"). Although most modern mail systems do not differentiate between the case of the local part (because most rational people recognized the inherent breakage involved in overloading userids based on case), some still do, and the RFC still requires case-sensitivity. Therefore LISTSERV must treat the local-part of the address with case-sensitivity. 


However, please note the following points:


All other LISTSERV commands (except for the "OK" command, which is a separate issue) are NOT case-sensitive. For instance, if you send a DELETE command for joe@example.com, it will delete not only joe@example.com, but also JOE@example.com and JoE@example.com in one fell swoop. This is a compromise between adhering to the letter of the RFC and recognizing that very few sites operate with case-sensitivity in this day and age.


LISTSERV does not consider case in the hostname part of the address (the part to the right of the "@" sign). LISTSERV does upcase hostnames but this is in order to make sorting more efficient, not for any reason of standards compliance. According to the RFCs, hostnames are not allowed to be case-sensitive. Therefore if an MTA is rejecting mail to a user because LISTSERV is upcasing the hostname in the address, the user's MTA is not compliant with the RFCs. Specifically see RFC1035, Section 2.3.1, which states:

Note that while upper and lower case letters are allowed in domain names, no significance is attached to the case. That is, two names with the same spelling but different case are to be treated as if identical.