我有一个锚标记一个mailto链接四处逛逛的mailto/HREF/URL字符的限制
<a href="mailto:?subject=Subject&body=Body">Email This</a>
的问题是身体参数是一个巨大的文章,而且似乎是在一个字符的限制网址。
有没有办法避开这个限制?
我有一个锚标记一个mailto链接四处逛逛的mailto/HREF/URL字符的限制
<a href="mailto:?subject=Subject&body=Body">Email This</a>
的问题是身体参数是一个巨大的文章,而且似乎是在一个字符的限制网址。
有没有办法避开这个限制?
有没有办法绕过极限?
很难。
甚至很可能限制因浏览器或浏览器,或从电子邮件客户端到电子邮件客户端而有所不同。
我宁愿使用HTML表单和服务器端脚本来发送消息。
是的,URL的长度有一个限制。
该限制因浏览器而异,因此您应该将URL保留在2000个字符以下以确保安全。
Internet Explorer似乎是具有最短限制的浏览器。根据this article这是2083个字符。
这也适用于href =“”这是我的href =“javascript:new Array(.....)”(很长的数组)的问题 – Spork 2013-07-02 15:28:02
是的,Mailto标签存在问题,它因浏览器和浏览器而不同,并且电子邮件客户端到 电子邮件客户端。在这个问题的情况下,尝试服务器端脚本来解决这个问题。 Mailto有时表现非常不正常
答案看起来与已发布的其他人不同有用。你有更多的细节要添加吗? – VKen 2012-10-10 18:25:04
我知道这个问题很旧,但我有类似的问题,达到了我需要发送电子邮件到许多收件人的限制。
我碰到这个solution,但我不明白为什么它的工作原理,我离开这里反正
function sendEmails(emails) {
var timeout = 2000;
var mailtoPrefix = 'mailto:?bcc=';
var maxUrlCharacters = 1900;
var separator = ';';
var currentIndex = 0;
var nextIndex = 0;
if (emails.length < maxUrlCharacters) {
window.location = mailtoPrefix + emails;
return;
}
do {
currentIndex = nextIndex;
nextIndex = emails.indexOf(separator, currentIndex + 1);
} while (nextIndex != -1 && nextIndex < maxUrlCharacters)
if (currentIndex == -1) {
window.location = mailtoPrefix + emails;
} else {
window.location = mailtoPrefix + emails.slice(0, currentIndex);
setTimeout(function() {
sendEmails(emails.slice(currentIndex + 1));
}, timeout);
}
}
用法:
var emails = '[email protected];[email protected];[email protected]';
sendEmails(emails);
我不想通过电子邮件发送的消息。我希望它能像普通的mailto链接一样工作,用户可以通过邮件客户端发送邮件。 – HyderA 2010-11-01 08:21:30
@gAMBOOKa我明白了。你可能会因此而失去...也许发送链接到信息呢? – 2010-11-01 08:24:35
是的,我想一个片段和链接将不得不做。谢谢! – HyderA 2010-11-01 08:26:15