Subject: designate an email address for testing at any provider

From: Nick Levinson <[email-masked]>
Date: Sun, 29 Mar 2009 01:05:14 -0700 (PDT)

A test-only email address should be recognized in standards, much as test-only domains exist (e.g., example.com and *.test), for similar purposes of having a token that can safely escape into the wild from internal use and documentation without fear of representing an actual account. I did not find an RFC or other standard providing this.

In a recent effort to get a bounce of an email with a large attachment so I could see its treatment (I needed the string the attachment would produce in the bounce message, since such a string previously caused a word processor to crash and I was filing a bug report), I sent an email addressed rather like [email-masked] (the domain was real). It quickly bounced and I got the string I wanted.

The main problem is finding a name-part or userinfo that no email provider uses now. That likely means it will be long or unusual, although it might turn out to be as simple as exampleexample. It is a problem since parties who wish obscurity, including spammers, often choose unlikely name-parts.

It also can't use any characters that aren't required to be accepted for a name-part or userinfo. It's possible an implementation of email service may not recognize hyphens, underscores, dots, or numerals, that being up to server configuration. I think that limits possibilities to lower-case letters only.

To discover what name-part to reserve for the purpose, here's one way:

1. Invent and compile possible name-parts. The compilation can be of arbitrary length. Because there are many email service providers, even allowing that many are wholesale, the initial list probably should be long.

2. Exclude name-parts likely to be highly susceptible to spam because created by spammers, since email service providers, especially the largest, are likely to allow such addresses for purposes of detecting spam. A Hotmail manager has already discussed this publicly. For instance, one provider may have accounts for John1 and John3 but a spammer may send email to John1, John2, and John3 at every provider even if no one at one provider has ever heard of John2. Therefore, even if no provider serves John2, that name-part should not be on the list, as it'll be needed for spam resistance. Similar customs likely also exist for name-parts ending in current or recent 2- or 4-digit years.

3. To allow anyone to add, allow incoming emails with a specified recipient, a specified subject line, and the message containing only a name-part token or a comma-separated, tab-separated, space-separated, or newline-separated list of name-part tokens. Choosing one separator will cut most spam. The messages can then be copied and pasted if few or the email input automated if many.

4. Check the name-parts against several of the major email service providers' rosters, simply by emailing with trivial personal-like messages. To test if a provider silently drops, if nothing bounces from a given provider, drop the provider from this round. Any name-part that fails to bounce against even one remaining provider checked would be dropped from the compilation, as presumably a customer is using it, and we don't want to disturb any customers.

5. Publish the list of remaining name-parts as a proposed list. Make one copy of the list machine-readable.

6. Mandate that all providers, not just those tested, immediately reserve all those name-parts except that if a name-part is already a customer's or was recently then the provider should continue serving the name-part for as long as the user wants to keep it, as they would for most other name-parts. Because recently-abandoned name-parts still may have temporary value in resisting spam (the notion used by some service providers is that senders of non-spam drop a recipient from their lists after about three months or two bounces but spammers don't, thus exposing upon delivery which emailers are spammers), mandate that the provider reserve each recently-abandoned name-part after it is no longer wanted for spam resistance.

7. If a provider is serving a name-part, including for a customer, spam resistance, or internal use or testing, mandate that the provider report that it is serving the name-part and, if it does not need the name-part after a date certain, report that date, reporting both to the maintainer of the published compilation. Any name-part currently in use by a customer, including for free service terminable at will by the provider, should be treated as having no date certain regardless of plans or promises between customer and provider, since circumstances may require an extension.

8. Upon receiving the report, the maintainer of the published compilation would then mark the name-part as already in use for an account (regardless of account type, including test and internal), and enter the date certain if applicable, without having to say which provider uses it, so a spam-industry address harvester could not acquire a live address.

9a. If the name-part has no date certain, all providers should then be free to make that name-part available to their customers, if they wish.

9b. If the name-part has a date certain, mandate that it be reserved by all providers except any already using it, and mandate that the latter reserve it after the provider's date certain.

9c. If a name-part has a date certain from one or more providers but no date certain from one or more other providers, treat the name-part as having a date certain equal to the date certain that is farthest in the future for that name-part.

10. Finally and permanently select and promulgate one or more name-parts that anyone may use for tests and documentation. The date certain for any name-part so promulgated must have passed or been always nonexistent by the time of selection and promulgation.

11. Immediately release all other names for use by email service providers as they wish.

12. Forbid a sender from sending any legal notice to such a promulgated address. A legal notice to the domain must be to another name-part or by other means.

13. Mandate that all email addressed to a name-part so promulgated be bounced. It must not be received or silently dropped. A provider must not record any of its headers, read any part of the email, or keep a copy, since that possibility alone would require at least some senders to keep copies of what they send to test recipients.

14. No rights may be acquired by the email service provider because of email to such a promulgated name-part at such provider. This is relevant to intellectual property rights and possibly others.

15. Do not forbid a sender from using cc: and bcc: when sending. It may be relevant to testing. For example, a sender may wish to cc: a real recipient as notice of a test or to test cc: by sending one email to two providers' test name-parts.

16. If a provider has antispam or other policies by which some incoming email is refused (either bounced or silently dropped) before consideration of a name-part, such policies may be continued without regard to this policy. For example, a policy of silently dropping inbound email with giant attachments of unknown MIME types may be continued. If the policy differentiates between such a promulgated name-part and other name-parts, the email service provider must favor a policy that requires or is closer to requiring bouncing.

17. I assume if an email has a cc: or bcc: list but is being bounced for the primary addressee that bounce reports do not go to any cc: or bcc: parties, but anyway mandate that they not, lest that lead to abuse, spam, or just excess network traffic via cc: or bcc:.

As this relies on phases as email service providers become aware of requirements, a schedule spread over months or a year or two should suffice. I think the burden on any party is small, other than for compiling and maintaining the list of possible name-parts.

Thank you.

-- 
Nick

---

From: John Levine <[email-masked]>
Date: 30 Mar 2009 21:27:16 -0000

>A test-only email address should be recognized in standards, much as
>test-only domains exist (e.g., example.com and *.test), for similar
>purposes of having a token that can safely escape into the wild from
>internal use and documentation without fear of representing an actual
>account. I did not find an RFC or other standard providing this.

I fear you are about 25 years too late.  It has long been a normal
configuration to have a "catch all" domain in which every possible
address is valid. Typically all go to the same place or a small set of
places.

This lets mail get delivered even if the address was typed slightly
wrong, e.g., [email-masked] vs [email-masked], and it lets you make
up per correspondent addresses which are handy when you're signing up
for lists and web sites you don't entirely trust.  On today's Internet
where 95% of mail is spam, catachall domains aren't as attractive as
they once were, but there are lots of them and they're not going away.

Regards,
John Levine, [email-masked], Primary Perpetrator of "The Internet for Dummies",
Information Superhighwayman wanna-be, http://www.johnlevine.com, ex-Mayor
"More Wiener schnitzel, please", said Tom, revealingly.