2014-07-25 11 views
11

Giới hạn chiều dài mailto của Chrome là khoảng 2000 ký tự. Nó có vẻ là đủ nhưng trên thực tế nó chỉ đủ cho tiếng Anh. Vì độ dài được tính sau encodeURI.cách nhận giới hạn chiều dài chrome mailto maxlength

ví dụ: chỉ có một ký tự tiếng Nhật 'て'. encodeURI('て') nhận được "% E3% 81% A6", dài 9 ký tự. Vì vậy, tôi chỉ có thể nhập khoảng 2000/9 = 200 ký tự tiếng Nhật trong nội dung thư của mình. Điều này thực sự quá ngắn.

Vì vậy, có cách nào để vượt qua giới hạn này không? Một cái gì đó như cài đặt plugin chrome là chấp nhận được.

Bất kỳ đề xuất nào được đánh giá cao.

EDIT

tôi cuối cùng đã quyết định sử dụng một giải pháp server-side: Tạo một trang popup để mô phỏng mail client, với tới, cc, chủ đề, nội dung và cũng là một nút gửi. Sau khi người dùng nhấp vào nút gửi, biểu mẫu sẽ được gửi và máy chủ sẽ gửi thư cho người dùng

+1

Bạn có thể đã đọc điều này nhưng nếu bạn gửi email của riêng mình, tôi cung cấp một số thông tin hữu ích để đảm bảo email của bạn không kết thúc trong thư mục spam - http://blog.codinghorror.com/so-youd- like-to-send-some-email-through-code/nếu bạn nghiêm túc về điều này thì một số nhà cung cấp đám mây SMTP có thể được sử dụng – SimonGates

+2

Chuyển đổi điểm tốt sang giải pháp phía máy chủ. Mẹo: Đảm bảo thêm tính năng chống spam bằng cách sử dụng các giới hạn tỷ lệ/giới hạn. Nếu không ai đó có thể sử dụng máy chủ của bạn để gửi spam cho người khác và máy chủ SMTP của bạn sẽ bị các nhà cung cấp dịch vụ thư thông thường đưa vào danh sách đen. (Xảy ra cho tôi vài năm trước). –

+0

Cảm ơn lời khuyên của bạn. – wander

Trả lời

2

điều này dường như là sự cố với cửa sổ microsoft. tôi đã thử các bước sau và nó hoạt động tốt với các trình duyệt khác nhau (safari, chrome 30 & 36, ...) trên mac os x.

trong windows yêu cầu sẽ bị cắt ngắn khoảng 2000 ký tự. điều này sẽ xảy ra bất kể trình duyệt nào đang được sử dụng. có vẻ như các cửa sổ có giới hạn kích thước đối với các yêu cầu của hệ thống uri.

tôi đã thử từ html <a href="mailto:?body=... và javascript document.location = encodeURI('mailto:?body=' + text) với 100k ký tự trong nội dung thư.

tôi đã đặt cả hai ví dụ trong này FIDDLE

+0

Vì vậy, nó có vẻ không phải là lỗi của chrome. Nhưng chiến lược mã hóa của chrome cho url mailto thực sự quá xấu đối với giới hạn hệ điều hành này. IE có thể hỗ trợ khoảng 2000/2 = 1000 ký tự không phải ASCII trong khi chrome chỉ có thể hỗ trợ khoảng 2000/9 = 200+. – wander

2

Tôi không có vấn đề với bất kỳ kích thước mailto-liên kết trên một Firefox (Developer Edition 39.0a2, Windows XP), tuy nhiên trình duyệt Internet Explorer 8 và Chrome không làm việc với mailto -kết nối trên kích thước được đề cập khoảng 2000 ký tự. Vì vậy, tôi nghi ngờ nó là một vấn đề cụ thể của Windows.

+0

Nhận xét là không thể cho tôi vào thời điểm đó (có ít hơn 25 điểm) và @progressive_overload đã chỉnh sửa đề cập của tôi về điều này trong bài đăng của tôi ... – Cyrus

+0

@Cyrus khi nghi ngờ, không đăng câu trả lời nào cả. –

+0

Tôi đang đối mặt với cùng một vấn đề. – loki

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