outlook电子邮件是否有特定的字符串大小。我有以下代码给我一个错误
传递给系统调用的数据区域太小
然而,只有当我的邮件正文大于正常
时才会出现这种情况document.location.href = "mailto:" + emailAddress + "?subject=my msgs Relief&body=" + escape(message);
如果我删除代码,那么它不会显示此消息。因此,它与电子邮件正文中的字符数相关联。请建议。
答案 0 :(得分:6)
我最近遇到了这个确切的问题。问题是不同的浏览器(和不同的电子邮件客户端)对使用邮件链接在它们之间传递的数据量有限制。
例如,Internet Explorer中的最大URL长度为2,083个字符(MS KB Link)。如果链接的总长度(包括主题,地址和正文)超出此范围,您将收到此错误。
为了解决这个问题(因为我们必须支持IE),我在生成链接后使用了这个kludge:
var mailto_link = 'mailto:'+addresses+'?subject='+subject+'&body='+body_message;
win = window.open(mailto_link.substr(0,2000),'emailWindow');
这并不完美,但在极少数情况下,用户会尝试生成一封巨大的通知电子邮件,他们会在事件发生时被礼貌地警告,提醒,并在事件发生后得到通知。
答案 1 :(得分:4)
它可能会失败,因为某些电子邮件客户端不接受空格作为href的一部分,因此您需要URI编码(转义)它们,因此它们变为%20。
试试这个:
document.location.href = "mailto:" + emailAddress + "?subject=my%20msgs%20Relief&body=" + escape(message);