Html 表示电子邮件正文文本的字符串必须满足哪些条件才能使用mailto将其成功传递到电子邮件正文

Html 表示电子邮件正文文本的字符串必须满足哪些条件才能使用mailto将其成功传递到电子邮件正文,html,forms,asp-classic,mailto,Html,Forms,Asp Classic,Mailto,我正在尝试使用mailto函数,使用HTML表单用ASP字符串变量中的一些预定义文本填充新消息。我正在使用语法 其中,eSubject和eBody是字符串变量,它们是从数据库读取的值中提取的,经过编辑后使用%20代替空格和%0D%0A来表示新行。表单不包含任何输入,并使用JavaScript直接提交 我已经研究了我试图传递给正文文本的字符串长度可能存在的问题,例如,但我得到的印象是,这取决于浏览器,只有在字符数相当高的情况下才会成为问题,这取决于我的输入。对于我的电子书字符串,这在380到400

我正在尝试使用mailto函数,使用HTML表单用ASP字符串变量中的一些预定义文本填充新消息。我正在使用语法

其中,eSubject和eBody是字符串变量,它们是从数据库读取的值中提取的,经过编辑后使用%20代替空格和%0D%0A来表示新行。表单不包含任何输入,并使用JavaScript直接提交

我已经研究了我试图传递给正文文本的字符串长度可能存在的问题,例如,但我得到的印象是,这取决于浏览器,只有在字符数相当高的情况下才会成为问题,这取决于我的输入。对于我的电子书字符串,这在380到400之间变化,但从未超过400

最令人沮丧的是,我的主题字符串一行根据需要填充新电子邮件的主题行。这可能与试图在字符串中使用换行符有关吗?主题行的一个例子是:

查询%20-%20伯明翰%20-%2025/03/2015%20at%2013:30

制作主题行

查询-伯明翰-2015年3月25日13:30

我很清楚,对于使用mailto的问题,人们的普遍反应是,你为什么要这么做?!,但是,在这种情况下,创建一封电子邮件是合适的,它将始终包含发送给客户服务部门的一些信息,以准确显示发送查询时发生的事情以及发送电子邮件的人发送的消息,每次都会不一样


我们将非常感谢任何建设性的帮助。谢谢

看起来最大字符数可能因浏览器而异,也可能因电子邮件客户端而异

关于这个问题的公认答案提到Outlook Express的限制是456个字符,mailto链接可能是一个整体。因此,根据您的浏览器和可能的客户端,您可能会遇到限制。关于这个问题的另一个答案也可以让你运行一些测试

根据RFC 822,字符?、&,甚至%可能出现 地址规格。事实上,它们是此URL中的保留字符 方案不是问题:这些字符可能出现在mailto URL中, 它们可能不会以未编码的形式出现。标准URL编码 中必须使用后跟两位数十六进制数的机构% 某些情况。

如上所述,&符号和字符保留在HTML中 并且必须用&进行重播。因此,一个复杂的URL 内部符号可能看起来像:

点击 到 给乔和鲍勃发个问候信

所以你要以身作则

应该对&body进行编码,使其成为&;身体