2012-11-02 26 views
11

Có kích thước chuỗi nhất định cho email vọng. Tôi đã đoạn mã sau đó mang lại cho tôi một lỗiDiện tích dữ liệu thông qua một cuộc gọi hệ thống là quá nhỏ"

Diện tích dữ liệu thông qua một cuộc gọi hệ thống là quá nhỏ

Tuy nhiên điều này dường như chỉ xảy ra khi cơ thể thông điệp của tôi là lớn hơn sau đó bình thường

document.location.href = "mailto:" + emailAddress + "?subject=my msgs Relief&body=" + escape(message); 

Nếu tôi loại bỏ mã sau đó nó không hiển thị thông báo này. Vì vậy, nó seams rằng nó liên quan đến số lượng ký tự trong cơ thể email. Xin đề nghị.

+0

Vui lòng cung cấp mã, trong đó 'thông điệp' được tạo – LuigiEdlCarno

+0

Có thể nào, rằng bất kỳ giá trị nào bạn thêm vào Chuỗi của mình là' null'? – LuigiEdlCarno

+0

Vui lòng cung cấp đầy đủ HTML và JS. Bạn có thể dán mã của mình tại đây: http://jsfiddle.net/ – maxwell

Trả lời

4

Có thể không thành công vì khoảng trắng không được một số ứng dụng email chấp nhận như một phần của href, vì vậy bạn cần mã hóa URI (thoát), vì vậy chúng trở thành% 20.

Hãy thử điều này:

document.location.href = "mailto:" + emailAddress + "?subject=my%20msgs%20Relief&body=" + escape(message);

6

Gần đây tôi tình cờ gặp vấn đề này chính xác. Vấn đề là các trình duyệt khác nhau (và các ứng dụng email khác nhau) có giới hạn về lượng dữ liệu có thể được truyền giữa chúng bằng cách sử dụng các liên kết gửi thư đến.

Ví dụ: độ dài URL tối đa trong Internet Explorer là 2.083 ký tự (MS KB Link). Nếu tổng chiều dài của liên kết của bạn bao gồm chủ đề, địa chỉ và nội dung vượt quá mức này, bạn sẽ nhận được chính xác lỗi này.

Để sửa lỗi này (như chúng ta phải hỗ trợ IE), tôi sử dụng kludge này sau khi tạo liên kết của tôi:

var mailto_link = 'mailto:'+addresses+'?subject='+subject+'&body='+body_message; 
win = window.open(mailto_link.substr(0,2000),'emailWindow'); 

Đó không phải là hoàn hảo, nhưng vào những dịp hiếm người dùng cố gắng để tạo ra một email thông báo khổng lồ , họ được cảnh báo một cách lịch sự đầu tiên, được nhắc nhở trong và được thông báo sau sự kiện.

Các vấn đề liên quan