- From: Michael A. Puls II <shadow2531@gmail.com>
- Date: Thu, 15 Oct 2009 20:55:17 -0400
- To: "Julian Reschke" <julian.reschke@gmx.de>
- Cc: "Larry Masinter" <masinter@adobe.com>, Martin J. Dürst <duerst@it.aoyama.ac.jp>, "jwz@jwz.org" <jwz@jwz.org>, "PUBLIC-IRI@W3.ORG" <PUBLIC-IRI@w3.org>
On Thu, 15 Oct 2009 04:47:08 -0400, Julian Reschke <julian.reschke@gmx.de> wrote: > Michael A. Puls II wrote: >> ... >> Actually, I think we should just look at how clients handle # in mailto >> URIs. >> 1. msimn.exe /mailurl:mailto:?body=before#after >> 2. opera.exe mailto:?body=before#after >> 3. opera.exe page.html (where page has <a >> href="mailto:?body=before#after">click me</a>) >> 4. sylpheed.exe --compose mailto:?body=before#after >> 5. thunderbird31.exe mailto:?body=before#after >> All those mail clients (except for the #2 situation where Opera's >> address field's URI parser splits up the URI into its pieces and >> Opera's mail code doesn't recompose the URI right (forgets the fragid >> part) before parsing) emit "before#after" in the body field of the >> compose window instead of just "before". That says that for mailto, # >> should just be treated literally as a non-reserved character like >> a-zA-Z0-9 etc. is. >> (Note that IE's address field can do what Opera does for #2 too before >> it passes the URI to the mail client.) >> So, I'd rather just say that for mailto URIs, # is just another >> character and any client that doesn't follow that notion should be >> fixed. >> ... > > Nope. Treating "#after" as fragment in a URI is what RFC 3986 defines. > We should not require clients to violate the base specification. > >> However, if others are not fine with that, in addition to the proposed >> text quoted above, it should be said 'why' you should not use # in >> mailto URIs. The reason of course would be that whether the # gets >> treated as part of a header field value or whether the URI gets chopped >> off at the first # depends on the client and situation. It should also >> be explicitly mentioned that if you need a # to be part of a header >> field value, you should use %23 instead. > > ...must... So, because of RFC3986's definition of #, all mail clients encountering "mailto:?body=before#after" must only put "before" in the body field of the compose window? If so, that, means I have bugs to file for Opera, Thunderbird, Sylpheed, probably Outlook if it does like Outlook Express, and any other clients that put "before#after" in the body field in that situation. Now, what does RFC3986 say about the case where you click on a link to "mailto:?body=before#after" or enter "mailto:?body=before#after" in the address field. Is "#after" part of the URI and "mailto:?body=before#after" must be passed to the mail client, or is "#after" not part of the URI and "mailto:?body=before" must only be passed to the mail client? If no RFC or spec says anything about that, what is your personal expectation? Depending on the answer, I have bugs to file for IE and Opera or Firefox and Safari. -- Michael
Received on Friday, 16 October 2009 00:55:52 UTC