JavaScript có được hỗ trợ trong thư email không?


146

JavaScript có được hỗ trợ trong thư email không?


38
Điều này không xứng đáng với -1
kikito

1
Là chương trình email mục tiêu, Outlook? Sấm sét? GMail? Hotmail? Tất cả những điều trên? Khác? Các chương trình email khác nhau làm cho thư khác nhau.
WonderWorker

1
Tôi vừa mới thấy rằng những kẻ tên lửa đang thực hiện đếm ngược nên ngày giờ phút và giây và đồ họa đang hoạt hình quá ... tuyệt vời những gì có thể bây giờ. Không chắc làm thế nào khác họ có thể làm điều này. Quan sát trong mac mail client.
hạ cánh

2
Tôi đã tìm thấy một tên miền và nhận được điều này - Motionmailapp.com
đã hạ cánh vào

3
@landed Tôi chỉ thấy điều tương tự trong một email từ WordPress. Hóa ra nó chỉ đơn giản là một GIF được tạo động bắt đầu đếm ngược từ khi nó được tải xuống (và nó được đặt lại sau 45 giây - Tôi đoán nếu bạn đã nhấp trong vòng 45 giây, có lẽ bạn đã đóng email).
Lionel Rowe

Câu trả lời:


49

http://en.wikipedia.org/wiki/Comparison_of_e-mail_clents

Các máy khách cũ , chẳng hạn như Lotus Notes, Mozilla Thunderbird, Outlook Express và Windows Live Mail dường như đã hỗ trợ một số loại thực thi JavaScript. Không có gì khác làm.

Nó có vẻ như là một ý tưởng bảo mật tồi, vì vậy tôi hy vọng đây sẽ là một tính năng sẽ không luôn xuất hiện, ngay cả trong những khách hàng này.


9
"Lotus Notes, Mozilla Thunderbird, Outlook Express và Windows Live Mail dường như đều hỗ trợ một số loại thực thi JavaScript" - Trong các tập lệnh mẫu thư, không phải trong email nhận được.
Quentin

2
Ồ, những khách hàng này hiện đã quá cũ các liên kết về cách họ từng cư xử đang chết dần, tôi không thể xác nhận hay từ chối bất kỳ liên kết nào. Sáu năm sau, tôi sẽ ngạc nhiên nếu có một ứng dụng email duy nhất vẫn đang được sử dụng có mục đích thực thi tập lệnh.
MatthewMartin

18

Không, nói chung, trình đọc email không cho phép javascript.


2
Làm thế nào về gmail trong trình duyệt chrome?
Nicolas S.Xu

1
@ NicolasS.Xu Gmail xóa JavaScript khỏi thư trước khi đưa nó cho trình duyệt. Vì vậy, JS không hoạt động. Tôi đã kiểm tra Gmail trong Firefox 56 và Chrome 61. Cũng đã kiểm tra mã trong các công cụ quản trị trang web, mã JS đã bị xóa.
Christopher K.

18

Những người trả lời khác cho rằng câu trả lời là "Không".

Mặt khác, một tệp đính kèm html có thể sẽ được mở trong môi trường chạy Javascript.

EDIT: Có ý kiến ​​cho rằng tôi chưa trả lời đúng câu hỏi nên ở đây cần nỗ lực hoàn thiện hơn.

Tóm tắt: Tôi hy vọng rằng nhiều hoặc hầu hết người dùng nhận được email có định dạng html có chứa Javascript nhúng sẽ thấy nó chạy và đã chạy thử nghiệm để xác nhận rằng điều này là đúng trong một số môi trường. Nhưng Javascript S be bị chặn đối với một số người dùng.

Các giao thức (cụ thể là RFC2854) giải quyết rõ ràng kịch bản lệnh (trong loại thân thông điệp văn bản / html) với câu lệnh:

Ngoài ra, việc giới thiệu các ngôn ngữ kịch bản và khả năng tương tác trong HTML 4.0 đã gây ra một số rủi ro bảo mật liên quan đến việc thực hiện tự động các chương trình được viết bởi người gửi nhưng được người nhận giải thích. Tác nhân người dùng thực thi các tập lệnh hoặc chương trình như vậy phải cực kỳ cẩn thận để đảm bảo rằng phần mềm không tin cậy được thực thi trong môi trường được bảo vệ.

Vì vậy, các giao thức hỗ trợ Javascript, nhưng tác nhân người dùng nào?

Trình đọc email (cổ) ​​của tôi sử dụng bảng để chỉ định phần mềm trình xem nào sẽ sử dụng cho mỗi mô phỏng, chuyển hướng nội dung html sang trình duyệt web yêu thích của tôi. Hầu như tất cả các trình duyệt web hiện tại đều hỗ trợ Javascript (và một số cảnh báo nghiêm trọng khi bạn cố gắng tắt nó!) Các tác nhân email hiện đại có bao gồm các trình thông dịch html nội bộ và, nếu vậy, javascript đã được bật hay tắt? Tôi đã kiểm tra tài liệu trên Thunderbird và thấy rằng javascript dường như được bật theo mặc định nhưng có thể bị tắt: http://codeverge.com/mozilla.support.thunderbird/simple-html-tags-reference-docume/2030160

Tôi đã nhận thấy rằng một số (? Nhiều?) Người dùng hiện truy cập email của họ từ trình duyệt trực tiếp (webmail là một trong những nền tảng như vậy) thay vì chạy phần mềm email riêng biệt. Tất cả các nền tảng mà tôi đã thử nghiệm cho đến nay đều chạy bất kỳ Javascript nào được nhúng trong html của thông báo email. Tuy nhiên, một số môi trường như vậy, tùy thuộc vào cài đặt bảo mật người dùng, không tự động tìm nạp các liên kết bên ngoài (Javascript hoặc hình ảnh hoặc khác) và do đó chỉ có thể chạy Javascript bên ngoài từ một tệp được đính kèm dưới dạng tin nhắn. Điều tương tự cũng đúng với mọi trình đọc email ngoại tuyến trên thiết bị không có kết nối internet hiện tại.

Những điều trên áp dụng cho javascript được nhúng trong phần thông báo chính của phần thân email. Người ta cũng có thể có html được cung cấp rõ ràng dưới dạng "tệp đính kèm", nếu được lưu và sau đó mở sẽ được hiển thị trong trình duyệt web, trong đó Javascript có sẵn với khả năng rất cao. Do đó, người ta có thể bao gồm một bản sao thứ hai của email kích hoạt javascript dưới dạng tệp đính kèm html với nội dung chính / văn bản chính và / hoặc thẻ chính trong văn bản chính / html hướng người dùng đến tệp đính kèm.

Tôi đã suy nghĩ về điều này bởi vì một số người quen của tôi khăng khăng gửi cho tôi "thiệp chúc mừng email" bao gồm một tin nhắn văn bản hướng tôi đến một liên kết mà tôi thấy không thỏa đáng đến nỗi tôi từ chối thậm chí xem xét việc tải nó theo nguyên tắc . Tôi đã viết và gửi thiệp chúc mừng qua email với đồ họa và âm nhạc tương tác và thậm chí các trò chơi bằng cách sử dụng javascript nhúng và hài lòng với kết quả này.

Do đó, tôi khẳng định rằng câu trả lời đúng là "Có" với lý do các giao thức đề cập cụ thể đến kịch bản và với lý do tất cả các tác nhân email mà cá nhân tôi sử dụng đều chạy Javascript trong các email kiểm tra của tôi.


2
Bạn không đưa ra bất kỳ danh sách khách hàng cụ thể nào mà bạn đã kiểm tra JS thành công và với mã JS nào. Tôi đã kiểm tra Thunderbird 52.4.0 với cài đặt "HTML gốc" và nó đã bỏ qua JS <script> document.write('test'); </script>trong các email thử nghiệm của tôi. Tương tự đối với Outlook cho Android 2.2.44, K-9 cho Android 5.208, Gmail webmailer (đã thử nghiệm 06.11.2017) và webmailer Roundcube 0.9.5. Vì vậy, tôi đồng ý với những người nói rằng nó không hoạt động trong hầu hết các khách hàng (hiện đại). Đúng là hầu hết người dùng sử dụng các webmailer, nhưng vì một lý do chính đáng, những điều này dường như loại bỏ JS khỏi các tin nhắn trước khi đưa chúng cho trình duyệt.
Christopher K.

1
Vì liên kết của bạn đến "tài liệu" Thunderbird hoàn toàn không phải là tài liệu mà chỉ đề cập đến một số câu hỏi do người dùng đóng góp, tôi đã tìm kiếm một số tài liệu chính thức và tìm thấy điều này: developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Release / 3 - Nó nói rằng JS trong các email đã bị hủy trong Thunderbird 3.
Christopher K.

14

Câu trả lời ngắn

Không


Câu trả lời mô tả

Nó phụ thuộc. Nhưng email không được đảm bảo để hành xử theo cách bạn muốn. Các ứng dụng email khác nhau xử lý JS khác nhau. Hầu hết các ứng dụng email mới hơn không hỗ trợ bất kỳ ứng dụng email nào vì nó rất nguy hiểm khi hỗ trợ thực thi tập lệnh trong ứng dụng máy tính để bàn chứa rất nhiều thông tin cá nhân của bạn.

Tôi đã có một trường hợp sử dụng khi tôi cần sử dụng JS trong email. Tôi cũng đã thử trên máy khách web của triển vọng và máy khách máy tính để bàn, và hóa ra triển vọng chỉ xóa sạch phần kịch bản của email HTML của bạn. Có thể có một số ứng dụng email khác hỗ trợ thực thi JS, nhưng cho rằng bạn không thể kiểm soát ứng dụng khách nơi email của bạn sẽ được xem trong máy khách, không nên nhúng bất kỳ tập lệnh nào vào email HTML.

Bạn nên giữ email HTML của mình đơn giản nhất có thể, không có JS và ít CSS nhất bạn có thể làm với (bởi vì, một lần nữa, các ứng dụng email khác nhau cũng hỗ trợ CSS khác nhau), ví dụ: máy khách web của triển vọng thậm chí không nhận ra HTML thẻ nút trong email. Tôi đã phải sử dụng thẻ neo và một số CSS ở trên nó để bắt chước hiển thị của một nút.


Điểm mấu chốt - không dựa vào Javascript khi làm việc với nội dung email HTML.


4

Bạn sẽ không nhận được JavaScript thực thi trên máy chủ và vào ứng dụng thư khách. Nhưng email DO hỗ trợ liên kết, bạn luôn có thể liên kết đến nội dung của bạn trong một email.



2

Có thể, nhưng khách hàng thư sẽ không đọc nó và máy chủ thư có thể từ chối. Vì vậy, hãy để nó ra.


1

Javascript không được hỗ trợ trong email.


2
Điều đó không đúng. Ít nhất Outlook và Outlook Express hỗ trợ Javascript, đây là một trong nhiều lý do để tránh chúng (vì lý do bảo mật).
PauliL

1
@PauliL: Điều đó phụ thuộc vào việc cài đặt vùng Trang web bị hạn chế của bạn có cho phép hay không.
Neil Knight

0

Bạn có thể xem email có JavaScript hoạt động với Windows Live Mail, nhưng không thể thêm JavaScript vào email mới mà bạn muốn gửi. JavaScript cũng hoạt động với các tệp .eml đã lưu. Mozilla Thunderbird phiên bản 60.7.0 không thể xem hoặc thêm JavaScript. (Nếu bạn lưu tệp eml bằng Thunderbird, mã sẽ hoạt động nếu tệp được tải bằng Live Mail) Bạn có thể gửi email bằng JavaScript bằng mã PHP. Một số trang web email có thể hỗ trợ nó, nhưng một số trang web tôi đã sử dụng thì không. (AOL, uk2.net, GMail)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.