我正在尝试创建一个 mailto 链接,该链接使用当前 URL 填充电子邮件的正文。
我遇到的问题是 gmail android 应用程序去掉了等号,包括 %3D
这是我正在使用的代码。
$currentUrl = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}";
$currentUrl = str_replace('&', '%26', $currentUrl);
$currentUrl = str_replace('=', '%3D', $currentUrl);
<a href='mailto:?subject=".$emailsubject."&body=".$currentUrl."' class='actions'>Click to Send</a>
示例 Href
<a href='mailto:?subject=12/12/2019 2L36 Brighton to Lewes&body=https://live.rail-record.co.uk/train/?c%3DW26711%26d%3D12/12/2019' class='actions'>Create Email</a>
在桌面上,它工作正常。在移动设备上,查询字符串会被截断,等号不会包含在电子邮件正文中。
任何人都可以提供帮助,关于如何让平等进入 gmail 应用程序?谢谢。
mailto 正文的示例将包含如下链接:https://live.rail-record.co.uk/train/?c=H17216&d=11/12/2019
然而,插入到电子邮件正文中的 URL 在 ?c(第一个等号)之后被截断。在桌面邮件应用程序中工作正常,但在 gmail android 上不起作用。关于上面的链接,底部有一点“创建电子邮件”,您可以单击它进行测试。
最佳答案
在 Android 中 URL 编码是不够的,你需要对 URL 进行双重编码,它会正常工作(我自己把它绑起来)。
在这里您可以看到如何在 js 中执行此操作:
How to double encodeURIComponent in javascript?
关于php - Gmail 应用程序剥离等于登录 Mailto 正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59305860/