1

I'm having a problem with Base64 strings in URLs in El Capitan.

I'm sending notifications from a web platform to its users. Those emails are plain text and contain links to messages.

I have tried the following links

http://localhost#VGhpcyBpcyBhIGJvcmluZyBleGFtcGxlIHRlc3Qu

http://localhost?e=VGhpcyBpcyBhIGJvcmluZyBleGFtcGxlIHRlc3Qu

However when someone clicks on a link in Apple Mail then Safari opens the links with the Base64 code converted to lowercase. I don't get why this is happening. It seams like a big bug to me. Has anyone found an easy workouround?

The only solution I found so far was to use Base32 but that just increases the length of the URLs. Another possible might be to use HTML emails but that would mean quite a bit of extra work which I'd like to avoid.

1
  • 1
    Isn't the ? only valid after a page? That is, without a "/", Mail treats it all as the host name which is case-insensitive.
    – Kent
    Nov 19, 2015 at 20:39

1 Answer 1

3

You should explicitly put a slash "/" after the host name, ie

http://localhost/?e=VGhpcyBpcyBhIGJvcmluZyBleGFtcGxlIHRlc3Qu

Without the trailing / character after localhost, Mail treats the entire url as a hostname, which is case-insensitive.

2

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .