问题
There is a maximum length for the text in the &body section of a mailto: link. According to one of my co-workers, the W3C publish the limit as 256 (I don\'t have a link to back this up, though).
We\'re embedding mailto: links in both an e-mail and a webpage and have successfully used more than 256 characters. After a certain point, though, e-mail clients and browsers start flaking out and refusing to open the link.
I would like to know the actual maximum lengths allowed for the following:
Mail clients:
- Outlook (2003, 2007, 2010)
- Eudora (7.1, and/or whatever the latest version is)
- Thunderbird (latest version)
Browsers:
- Firefox (3+)
- IE (6, 7, 8)
- iPhone browser
Any and all numbers you can provide will be gratefully received.
回答1:
The standard doesn't define a maximum length, leaving implementation up to browsers and mail clients (See IETF RFC 2368).
Microsoft products do have set limits:
- IE GET limit is 2,083 http://support.microsoft.com/kb/208427
- Outlook express: 456 characters http://support.microsoft.com/kb/q182985/
Other browsers are likely to work up to lengths beyond that of a reasonable email body. The iPhone doesn't have a documented limit, but works with up to 1MB of text.
Modern browsers that support data urls (everything except IE<9) should be fine.
回答2:
For browsers with JS consoles, an easy test:
for (var i=2014; i>1600; i--) {var good=1; try {location.href='mailto:?body='+'a'.repeat(i)} catch (e) {good=0;} if (good==1) {console.log(i+13);break;}}
(The 13 is for the length of mailto:?body=
.)
On Firefox 32.0.3 this produces 2008 (body length 1995). On Thunderbird 31.2.0, all 1,995 characters make it into the body of the new e-mail.
Some say it's mainly OS-setting-dependent but on Windows, at least, I couldn't find any registry entry related to mailto
with a number near 2,000.
来源:https://stackoverflow.com/questions/4473959/effective-maximum-mailto-body-lengths