title: URI encoding in Yahoo mail compose link
body: <p>I have link generating web app. I'd like to make it easy for users to email the links they create to others using gmail, yahoo mail, etc. Yahoo mail has a particular quirk that I need a workaround for.</p>
  
  <p>If you have a Yahoo mail account, please follow this link:</p>
  
  <p><a href="http://compose.mail.yahoo.com/?body=http%3A%2F%2Flocalhost%3A8000%2Fpath%23anchor" rel="nofollow noreferrer">http://compose.mail.yahoo.com/?body=http%3A%2F%2Flocalhost%3A8000%2Fpath%23anchor</a></p>
  
  <p>Notice that yahoo redirects to a specific mail server (e.g. <a href="http://us.mc431.mail.yahoo.com/mc/compose" rel="nofollow noreferrer">http://us.mc431.mail.yahoo.com/mc/compose</a>). As it does, it decodes the hex codes. One of them, %23, is a hash symbol which is not legal in a query string parameter value. All info after %23 is lost.</p>
  
  <p>All my links are broken, and just using another character is not an option.</p>
  
  <p>Calling us.mc431.yahoo.com directly works for me, but probably not for all users, depending on their location.</p>
  
  <p>I've tried setting html=true|false, putting the URL in a html tag. Nothing works. Anyone got a reliable workaround for this particular quirk?</p>
  
  <p>Note: any server-based workaround is a non-starter for me. This has to be a link that's just between Yahoo and the end-user.</p>
  
  <p>Thanks</p>