A mailto URI like |mailto:?to=(mime-encoded-thing)| will decode the mime-encoded-thing, which is good: the only exception to "MIME encoded words (as defined in [RFC2047]) are permitted in header values" in RFC 2368 is body. A mailto URI like |mailto:(mime-encoded-thing)| will not decode the mime-encoded-thing, which is sort of open to interpretation (is the hierarchical part of a mailto URI just another place to put a To: header value, or is it something different than a header value?), but... whatever. However, a mailto: URI like |mailto:(mime-encoded-thing)?|, the exact same thing only with a (empty, or it could be non-empty) query string, *will* be decoded, because the hierarchical part is sent into decoding as just another to=, when there's a query string to send us into query string parsing. Lacking any useful spec guidance, I guess it comes down to compat: among those mailto consumers which are not broken by not decoding ?to=, do most decode the thing before the query string, or not?