« Return to Thread: RE: '#' in mailto URIs

Re: '#' in mailto URIs

by Julian Reschke :: Rate this Message:

Reply to Author | View in Thread

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

 « Return to Thread: RE: '#' in mailto URIs