2009-02-08 46 views
5

Làm cách nào để nhúng hình ảnh vào HTML để hình ảnh được phân phối với nội dung tệp html và không cần một chuyến đi riêng đến máy chủ để truy xuất hình ảnh? Chúng tôi cần điều này để nhúng logo của công ty vào chữ ký trước khi họ rời khỏi máy chủ thư. Chúng tôi không muốn sử dụng giải pháp phía khách hàng như chức năng thunderbird hoặc outlook để thêm chữ ký.Làm cách nào để nhúng hình ảnh trong email HTML trên máy chủ thư?

nhờ

+0

bạn có thể sử dụng thành công giải pháp bạn đã chấp nhận trong email không? –

+0

Hi Sam, Tuy nhiên, hãy thử nó. Có một khách hàng muốn chữ ký được thêm vào email ở phía máy chủ. Vì không ai thực sự làm điều này đúng, tôi cho rằng nó phải thật yên tĩnh để làm. Tôi sẽ cho bạn biết. – mxc

Trả lời

8

Những gì bạn cần làm là mã hóa các tập tin để Base64, và bao gồm nó như thế này:

<img src="data:image/gif;base64,R0lGODlhUAA..(the rest of your base64 encoded file).."> 

http://www.sweeting.org/mark/blog/2005/07/12/base64-encoded-images-embedded-in-html

http://dean.edwards.name/weblog/2005/06/base64-ie/

+0

các url dữ liệu không hoạt động trên IE. –

+1

Tính năng này có hoạt động cho email không? –

+0

các liên kết giải thích cách làm cho nó hoạt động trong IE. hầu hết các chương trình email những ngày này sử dụng công cụ hiển thị giống như một trong các trình duyệt, hoặc thực sự là trong trình duyệt, vì vậy nó sẽ làm việc cho hầu hết mọi người. – nickf

0

Nó không thể được thực hiện, nhưng đó là OK vì trình duyệt hiện đại sử dụng một tính năng KeepAlive để kết nối đến máy chủ được giữ lại để tải hình ảnh.

+1

Lưu ý: OP hỏi về EMail được định dạng HTML, không phải trang web. – Eddie

5

Tôi không nghĩ rằng thông số HTML W3C thực sự cho phép bạn thực hiện việc này.

Nhưng nếu bạn thực sự muốn, bạn có thể tạo chiều rộng pixel theo bảng chiều cao pixel và đặt từng màu nền ô để tạo hình ảnh của bạn.

+1

và bạn thực sự muốn nhận email như thế này?:) – kender

+4

++! tôi muốn điều tương tự bạn đang hút thuốc;) – miceuz

+8

Ồ thôi nào, bạn không thể nói tôi không sáng tạo. :) –

0

Dưới đây là một tiện dụng Image to HTML converter - cảnh báo tạo ra HTML khó chịu! :)

+1

ha từ tác giả: "nó to, cồng kềnh và chậm. Sử dụng cái này là gì? Ở dạng nguyên chất của nó, không có. Ít nhất là không ai có thể nghĩ đến. " –

0

Câu hỏi đặt ra trong đầu tôi là - tại sao bạn không muốn một thẻ bình thường<img> trong html của mình?

Việc đính kèm hình ảnh vào phần thân của html có vẻ hấp dẫn, nhưng chắc chắn sẽ làm chậm thời gian tải xuống email và một số người sử dụng kết nối gprs để họ hạn chế băng thông của họ.

IMO có hình ảnh bên trong html của bạn là tinh khiết. Nhưng đó chỉ là tò mò, để hỏi tại sao bạn muốn một giải pháp như vậy - có vẻ như @nickf alredy đã cho bạn một giải pháp tốt :)

+0

Tải xuống email thường là tác vụ nền và người dùng thường chỉ được thông báo khi thư được tải xuống. Tôi nghĩ tốt hơn là nhúng hình ảnh hơn là tải xuống khi thư được mở. Tại sao? Thường thì các liên kết đến hình ảnh bị chặn bởi tường lửa hoặc không khả dụng ở chế độ ngoại tuyến. – mxc

+0

Sau đó, giải pháp của @ Kobi có vẻ giống như vậy - gửi hình ảnh dưới dạng tệp đính kèm và liên kết đến tệp đính kèm trong nội dung email. Bằng cách này, bạn vẫn cho phép người dùng nhận được trọng lượng nhẹ chỉ dành cho cơ thể – kender

+0

Tôi, với tư cách là người dùng ứng dụng email như vậy, muốn có cài đặt nơi tôi có thể yêu cầu chương trình tìm nạp trước hoặc không, tùy thuộc vào niềm tin của tôi người gửi (hoặc bộ lọc spam hoặc không có điều gì) Quan trọng nhất, đối với tôi, sẽ là hộp radio "không có hình ảnh bất cứ lúc nào" ... Đó là máy tính của tôi, không phải của người gửi. – lexu

8

Giải pháp tiêu chuẩn cho điều đó là thêm hình ảnh dưới dạng tệp đính kèm. Mọi tệp đính kèm đều có ContentID, vì vậy bạn có thể nhúng hình ảnh bằng cách sử dụng: <img src="cid:ContentID" />.
Điều này sẽ nhúng hình ảnh vào email, không phải trong html.

+0

cảm ơn bạn sẽ thử. Email chủ yếu là những gì tôi đang xem – mxc

0

Tôi đã đánh giá lại các giải pháp cho điều này gần đây.

Theo số this blog hỗ trợ cho tệp đính kèm nội tuyến đã được cải thiện, nội dung mới đã được đẩy vào repo đường chính.

Tôi không kiểm tra xem phiên bản Rails nào đủ may mắn để chứa thay đổi này.

Để triển khai 2.3.x của tôi, tôi đã sử dụng inline_attachment gem.

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