把HTML表单放进电子邮件中是不切实际的吗?

10

我有几个客户问过这个问题,但我从未能够得到或给出令人满意的答案。 你(实际上)可以在HTML电子邮件中放置一个工作表单吗?

我的理解是可以的,但不能保证所有电子邮件客户端都能正确处理它,因此该方法只适用于您已有机会测试过的个别收件人,而不适用于使用多种电子邮件客户端的大量邮件列表。但我的理解来自许多开发者朋友对这个问题的耸肩,且没有找到任何权威机构明确给出肯定或否定的答案。

Stack Overflow认为什么?当客户要求您完成这项任务时,例如希望几百人填写调查时,最好的答案是什么?

(不要浪费时间回答“提供指向网站上的表单链接”。那是显而易见的答案。我想知道是否存在有关电子邮件中的表单的共识。)

6个回答

20

1. HTML在电子邮件中有些人认为是一种祸害

HTML在邮件中几乎从未正常工作,即使有时可以正常工作,也不会起到应有的效果。

我最近遇到了这样一种情况——一封相当长的HTML邮件虽然构成得很好,而且工作得也很好,但由于长度太长,被Gmail提前截断了,导致设计有些混乱。

我还遇到过HTML格式非常错误的情况,这样的邮件收到后,就像是一封空邮件。

2. 我不信任我的邮件中的表单

主要出于安全原因,有些客户端可能会拦截表单操作,并且表单提交不会到达目的地(特别是那些使用物理邮件客户端、开放web浏览器并通过其发布数据的情况,那非常复杂)。

你最好在网站上设置表单,这样你就可以控制它们,人们也不会有任何不愉快的惊喜(特别是如果你需要JavaScript来执行表单,许多邮件客户端无法支持该功能)。

也许你可以在邮件中设置表单,但是为了保持理智,尽可能向后兼容,这样像Pine或Mutt这样的文本浏览器用户仍然可以阅读,并且可以提供一个链接到一个不需要客户端魔法的工作表单。


6

简单的答案是不行。你可以尝试告诉你的客户以下内容:

几乎没有电子邮件客户端允许在电子邮件中使用HTML表单,一些垃圾邮件系统会特别阻止和删除包含表单的电子邮件。这是出于安全考虑。发送带有表单的电子邮件,甚至可能连五分之一的邮件都无法到达收件人的收件箱。


我完全理解。我之前也不得不向一些客户解释过这个问题。实际上,我曾经有一个客户说他们仍然想继续。看到各种电子邮件客户端如何处理表单是很有趣的。例如,Thunderbird会将所有输入框更改为“[...]”或其他内容。 - Ty.
嗯。我突然想到我的老板们(我在一个研究中心工作)可能会允许我利用工作时间来进行一项完整的研究(结果肯定可以预测)。如果我最终决定这么做,我会让 Stack Overflow 社区知道研究结果的。 - Phantom Watson
如果你认为可以发表一篇论文告诉人们停止使用HTML作为电子邮件的格式,我会说“去试试”。 - Kent Fredric
为了在这篇文章中增加更多的硬证据,Flitehaus在2011年进行了一项检查,并测试了他们自己的网站和Gmail。令人惊讶的是,即使在Gmail中,IE和Firefox也不允许表单,而Chrome和Safari则可以。 - Eric Hu

3
是的,我见过这种情况发生(LiveJournal的邮件就是一个例子)。正如您所提到的,这不是您应该依赖的东西。只需在HTML表单中设置操作为要发布到的完整URL,应该可以在支持它的任何地方工作。
我使用的大多数基于Web的电子邮件系统都可以使用,但我不知道有多少独立客户端可以处理它。

2

你说得没错 - 很难有任何一个重要的电子邮件客户端能够很好地处理这个问题。让纯HTML在电子邮件客户端中工作一致已经很困难了,更不用说像表单这样的“高级”功能了。我向你保证,如果你将其发送到具有异构电子邮件客户端混合的受众中,至少80%的人会说“你的表单不起作用”。

如果你不确定,请注册半打免费的电子邮件帐户,再加上一个可以通过imap访问的帐户。将带有简单表单的电子邮件发送到所有帐户,并通过3个不同的客户端查看imap帐户(例如Thunderbird、Outlook和Eudora)。看看它是否工作,并告诉我们。


好的建议,虽然我希望不要走到这一步。我希望能满足于“不要依赖它”的答案,但客户不喜欢听到“你想要的东西是可能的,但出于你无法理解的原因,我们仍然不会为你做它”。然而,似乎就是这样。 - Phantom Watson

2

我只会提供一个调查/表格捕获站点的链接。

你面临的问题是 -

a. 并不是每个人都接受HTML电子邮件

b. 你如何处理验证?即使在邮件客户端中提交了表单到目标服务器,你仍需要在服务器上处理验证。这可能会让人们感到非常困惑,以一种“我在这里开始填写表单,现在我在这里...怎么回事?”的方式。


不要太在意。从问题中:“不要回答‘提供网站上表单的链接’。这很显然。”你的回答第一行是:“我只会提供一个调查/表单捕获站点的链接。” - Phantom Watson
然而,如果你继续阅读下去,答案的其余部分确实扩展了(有效的)原因,而不仅仅是说放一个链接。我认为我为总体共识增加了有效的评论......这实际上是使用一个链接到一个Web表单。 - Kev
是的。这就是为什么它应该得到一票赞成,而且可能还会积累更多。 - Phantom Watson

1
如果不能保证客户端正确处理它,我认为这是不切实际的。您真的想发送邮件给收件人执行某些操作,但可能并没有真正完成吗?
我也会觉得这很烦人。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接