Re: '#' in mailto URIs

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...

> ...

BR, Julian

Received on Thursday, 15 October 2009 08:47:50 UTC