質問

My company sends out various newsletters (all double opt-in and CAN-SPAM compliant of course) and we're having an issue with Apple devices. All of the links in the emails become corrupted in nearly the same way, but all other code/content remains untouched. Here is some key information:

  • So far we've only seen this on Apple products (iPads, iPhones)
  • Not every user on the same device has the issue (Our two company iPads don't get it, but users with iPads have reported it, so it may have to do with the iOS version)
  • For users which the issue it affects, it doesn't affect every newsletter they receive. Also, either all the links work or all the links are corrupted; never a mix.
  • The newsletters are built automatically by pulling articles from our various websites and inserting them into a template
  • The issue happens regardless of the email service/client being used. Eg: from an iPad using a gmail account via the gmail app or via gmail.com in a browser.
  • If the user accesses the same email using a non Apple products, the links are not corrupted.
  • If the user forwards the corrupted email to someone who accesses it via a non Apple device, the corruption remains.

Here is a sample of how the URL changes:

correct:
http://www.example.com/path/link.php?M=5009308&N=21109&L=34170&F=H
corrupted:
http://www.example.com/path/link.php?MQ80105&N!109&L4170&F=H

correct:
http://www.example.com/path/link.php?M=5009308&N=21109&L=34087&F=H
corrupted:
http://www.example.com/path/link.php?MQ80105&N!109&L4087&F=H

correct:
http://www.example.com/path/link.php?M=5009308&N=21109&L=34137&F=H
corrupted:
http://www.example.com/path/link.php?MQ80105&N!109&L4137&F=H
  • All of the links on all newsletters follow the exact same pattern. The only difference between newsletters and links would be the numbers for the query variables (M, N, and L).
  • It only affects the query part of the URL
  • It seems to center around the "=" sign on each URL when it's followed by a number:
    • "=5009308" became "Q80105"
    • "=21109" became "!109"
    • "=34137" became "4137"

Part of it seems like it's a character encoding issue but you'd think it would affect more than just the query part of links (ie, you'd see text in other parts of the HTML/content changed also).

Does anyone have any idea what could be causing this extremely strange bug? Any help or ideas would be greatly appreciated!

役に立ちましたか?

解決

At least part of it is caused by something between your mail server and their device deciding that you're using quoted printable encoding and "fixing" it. That would account for =21 being replaced by ! and for =34 being replaced by 4. I don't know what triggers this but based on your description I would suspect that something in your outgoing email headers is telling the device it needs to do this. If your URLs always contain = but are only corrupted some of the time, your headers may be inconsistent. If the URLs only contain = some of the time and are corrupted every time they do, then the issue is always there but only visible with the right data.

Try your original URLs at the online quoted printable decoder, you'll get exactly the same changes.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top