2010-03-09 83 views
3

我有一個HTML表單,其中有很多輸入字段,我用它來填充電子郵件。我今天瞭解到,使用GET方法會限制所發佈內容的大小。但從我可以告訴的是,使用POST時沒有限制。好吧,可能是因爲我相信這可能是我的問題。我的電子郵件在電子郵件客戶端達到一定大小時(或者我使用了太多輸入字段?),不會在電子郵件客戶端中打開。發送郵件時限制郵件正文:表格

用戶將無法獲得恆定的Internet連接, 「可靠」的溝通方式是通過電子郵件。他們的計算機使用受到限制,不能破壞任何可執行文件。這就是爲什麼我創建了一個HTML文件,其中包含大量創建電子郵件正文的JavaScript。有些用戶已經有了一個電子郵件客戶端,如果是這種情況,我想用HTML文件表單中的內容打開一封新郵件。

那麼,當發送表單的action =「mailto:」時,是否存在某種身體有多大的限制?

回答

4

在Firefox 3.5.8上測試過,當使用action =「mailto:」時,我只能將1994個字符填充到POST表單中。通常你想避免使用mailto:帶有body參數。

也許只是讓他們手動將生成的電子郵件的正文複製/粘貼到客戶端。這是非常粗糙的,但有時你必須即興....

+0

此外,IE對於此長度的字段返回錯誤,指出「默認郵件客戶端未正確安裝」。 – Warren 2010-03-09 18:35:39

+0

這是錯誤消息,讓我想知道發生了什麼。嗯,所以最多的字符是〜2000。這意味着它通常與使用GET時相同。 使用POST發送表單時是否有任何限制,但不包含action =「mailto:」?我想你不能告訴瀏覽器以某種方式擴展限制? 我已經有了可用於複製/粘貼的機體,但這看起來並不便於用戶使用。 – thorseye 2010-03-09 20:41:41

+0

我相信POST請求的大小通常受服務器配置的限制(不同的服務器有不同的默認值)。 您提到您沒有一致的Internet訪問權限,您的服務器是否可以直接發送電子郵件?您可以考慮使用像PHP這樣的腳本語言向用戶發送電子郵件,而不是爲他們打開電子郵件客戶端。 如果您只是使用操作頁面來處理請求(假設您的電子郵件不是20MB的文本),那麼您不應該遇到POST長度的任何問題。 – Warren 2010-03-10 14:55:14

1

要添加到什麼voyager說:也FF上的URL長度的限制是相似的。

可是個最好的辦法就是進行測試,因爲FO例如在IE8我注意到,如果該URL爲2080 /它適合於2083最大長度(它仍然無法與mailto協議工作)

你可以很容易地在形式

<a href="mailto:[email protected]?subject=Hello&amp;body=Babe">click to send mail</a> 

如果href值的總長度超過一定長度更大的頁面添加URL做這些類型的測試(約2083,但它是小於這個) ,當點擊url時,你會看到瀏覽器甚至不會嘗試打開m全部。這不僅適用於IE(至少6/7/8),也適用於FF(至少3.6)。

相關問題