有没有办法让电子邮件中的按钮远程发送数据
Is there a way to have a button in an email remotely send data?
所以我有这个隐藏的表单和这个'我喜欢这个'按钮,我想插入到我发送的电子邮件中。
<form method="post" action="http://someWebsite.com/he_likes_it">
<input type="hidden" name="who_liked" value="heLikedIt@something.com" />
<input type="submit" value="I Like This" />
</form>
我可以将按钮插入我的电子邮件中。因此,每当电子邮件收件人单击其电子邮件中的按钮时,都会向我的服务器发送带有表单数据的 POST 请求,让我知道谁喜欢我的电子邮件。但是,单击该按钮还会打开链接(新的浏览器窗口/选项卡等),将用户定向到我的网站。如何防止单击按钮打开链接,而仅将表单中的数据发送到我的服务器?
我希望"喜欢"按钮不显眼。我不希望它通过打开一个新选项卡来惹恼电子邮件收件人。我知道javascript是可能的,但是,我很确定大多数电子邮件服务提供商在电子邮件中逃脱javascript,因为他们应该这样做。
对于初学者来说,完全忘记javascript——它不会发生。没有电子邮件客户端会允许JS通过,这太冒险了。
至于表单方法,撇开电子邮件客户端是否允许它通过,如果页面立即自行关闭(见下面的片段),一些操作系统、浏览器和电子邮件客户端可能会播放并将焦点"交还"给"邮件客户端(这就是你所追求的 - 用户被"带回他们原来的位置")。但是,无法保证客户端操作系统、浏览器和电子邮件客户端的反应。
此外,有些人使用非HTML客户端,而某些客户端(如Outlook)可能会完全禁止这样做。从安全角度来看,这有可能被利用,因此即使您正在做的事情不是利用性的,整个实践也有这种潜力,因此可能会被阻止。
非 HTML 电子邮件客户端可能会将您的 HTML 转储为文本,因此在这种情况下这看起来很糟糕。
要立即关闭窗口,您可以尝试:
<script type="text/javascript">window.close();</script>
因此,http://someWebsite.com/he_likes_it
的页面仅包含此作为输出(在执行任何服务器端需要完成的操作之后)。根据浏览器、其他选项卡是否打开以及其他一些因素,窗口可能会毫无问题地关闭。强权是最重要的词!然后,用户可能会被带回电子邮件客户端。没有办法编写这个脚本,没有办法控制它。
作为替代方案,我建议您做一些不太容易出现问题以及电子邮件客户端、操作系统和浏览器变幻莫测的事情......而且这远没有那么"偷偷摸摸"——不要向用户隐瞒你正在做的事情。只需在电子邮件中包含链接,而不是表单:
Like this email? Let us know: <a href="http://www.mysiteurl.com/he_liked_it/UNIQUE_IDENTIFIER">http://www.mysiteurl.com/he_liked_it/UNIQUE_IDENTIFIER</a>
唯一标识符可以是电子邮件(无论如何,这就是您在表单中所做的),也可以是链接到用户的某种令牌。无论哪种情况,您都可以在页面上包含一些文本来感谢用户的反馈:
谢谢!我们很高兴您喜欢这封电子邮件。您可以关闭此窗口,或者 点击这里转到主 页。
这是跨浏览器、跨操作系统的,适用于任何启用 HTML 的电子邮件客户端。对于纯文本客户端,他们将能够将 URL 复制粘贴到他们的浏览器中,而不会看到明显的标记混乱。您的用户会欣赏您的透明度、表达的感激之情,以及您不会向他们发送引发其电子邮件客户端安全警告的电子邮件。
您的解决方案将不起作用,因为大多数(如果不是全部)电子邮件客户端将完全删除电子邮件中的任何脚本标签 - 因此您的所有JavaScript都将消失。 此外,您的表单帖子肯定不起作用。
完成此操作的唯一方法(以及所有公司采用的方法)是在您的电子邮件中包含一个链接,单击该链接时,会将用户带到您网站上的页面:
<a href="http://YOUR-SITE.com/like">I Like This</a>
当然,服务器将能够将请求记录到此页面,因此您可以执行所需的任何逻辑。
- 获取屏幕截图并在电子邮件中发送的按钮
- 从 html 表中选择一行(突出显示)并在单击按钮时发送值
- 有没有办法让电子邮件中的按钮远程发送数据
- 如何在窗体上保持焦点按钮和发送按钮焦点
- 如何在角度js中将选中的单选按钮值发送到服务器
- 如何在单击带有 2 个按钮的表单中单击按钮时发送 Ajax 请求
- 页面上的任何按钮都会发送表单,即使是表单标记之外的按钮
- 如何点击按钮自动发送电子邮件
- 如何启用ENTER按钮来发送消息
- 禁用按钮并发送POST请求
- 如何在按下/持有按钮期间发送值
- 从html表中选择一行,单击按钮即可发送值
- 提交按钮没有发送任何东西
- 点击按钮,发送剃刀变量作为功能参数
- 将PHP变量返回到按钮值,然后将按钮值发送到输入文本
- 按钮自动发送
- 如何使用HTML按钮标记发送HTML表单POST请求
- 单击事件按钮正在发送图标作为目标
- 单击重置按钮后发送发布请求
- 尝试加载jQuery getScript函数,但按钮没有发送信息