Nếu tôi đính kèm hình ảnh vào email, làm thế nào tôi có thể đặt hình ảnh đó trong nội dung HTML? Tôi đã thử chỉ sử dụng tên tập tin như là nguồn hình ảnh nhưng điều đó dường như không hoạt động.Nhúng ảnh đính kèm vào email HTML
Trả lời
Cụ thể hơn về cách bạn tạo thư HTML.
Kết quả sẽ là thông điệp nhiều phần MIME với phần văn bản/html (nếu bạn thực sự làm đúng với phần thay thế của văn bản loại/đồng bằng) và một số hình ảnh, sau đó được tham chiếu từ bên trong HTML.
Xem RFC 1813 và RFC 2378 để biết thêm thông tin về id nội dung trong MIME hỗn hợp và dữ liệu liên quan (được CID tham chiếu trong nguồn HTML).
Nó được xây dựng dưới dạng tin nhắn MIME nhiều phần với phần html và hình ảnh.Nếu tôi đọc các RFC này một cách chính xác, có vẻ như tôi chỉ cần đặt một id nội dung trên các tệp đính kèm hình ảnh và sau đó sử dụng cid: xxx làm nguồn hình ảnh. – user83358
Điều này là chính xác, nếu mọi thứ khác đã có sẵn trong tin nhắn MIME, việc nhúng chúng thật dễ dàng. – Lucero
Nếu điều này liên quan đến việc gửi email từ trang web bạn đang phát triển, chỉ cần giữ hình ảnh trên máy chủ của bạn và sau đó liên kết với chúng bằng cách sử dụng <img src="url"/>
.
... các ứng dụng thư hiện đại nhất không hiển thị những hình ảnh đó vì lý do bảo mật trừ khi được người dùng xác nhận rõ ràng. Nhúng hình ảnh nhỏ hơn tốt hơn nhiều để đảm bảo rằng thông báo sẽ hiển thị như dự định (hoặc, điều này sẽ có nhiều khả năng hơn). – Lucero
@Lucero tích cực phá vỡ hành vi ứng dụng là điều cấm kỵ, theo ý kiến của tôi. Người dùng đã chọn sử dụng một ứng dụng nhất định __because__ các tính năng của ứng dụng và thực tế có thể bị xúc phạm khi một người nào đó đã vượt qua chức năng này. Hầu hết các ứng dụng thư hiện đại cũng cung cấp cho bạn tùy chọn luôn xem hình ảnh từ những người gửi nhất định (hoặc thậm chí cả tên miền), cho phép người dùng quyết định xem họ có muốn xem hình ảnh của bạn trong tương lai hay không. –
@NathanCox, hoàn toàn không bỏ qua chức năng này. Ứng dụng email không tải xuống hình ảnh để bảo vệ người dùng khỏi bị lộ (khi địa chỉ web được cá nhân hóa, người gửi có thể tìm hiểu khi nào thư được đọc và địa chỉ email vẫn hợp lệ và đang sử dụng). Không hiển thị hình ảnh được liên kết là biện pháp bảo mật và không có liên quan gì đến việc người dùng muốn xem hình ảnh (đó là cài đặt riêng trong một số ứng dụng email). – Lucero
tôi đang làm nó theo cách này
_mime = new MimeMultipart();
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart = new MimeBodyPart();
DataSource fds = new FileDataSource("C:\\bgBoletin.jpg");
messageBodyPart.setDataHandler(new DataHandler(fds));
messageBodyPart.setHeader("Content-ID", "<bgBoletin>");
_mime.addBodyPart(messageBodyPart);
Và trong file HTM whe tham khảo de Content-ID trong nền theo cách này: url (cid: bgBoletin).
lớp học của bạn là MAIL? ... để sử dụng "MimeMultipart" -> kích hoạt lớp học? – delive
Bạn có thể sử dụng cùng một cách với thuộc tính src="cid:bgBoletin"
của img
thẻ.
Câu trả lời cho câu hỏi của bạn là trong tài liệu xuân here.
mailSender.send(new MimeMessagePreparator() {
public void prepare(MimeMessage mimeMessage) throws MessagingException {
MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true, "UTF-8");
message.setFrom("[email protected]");
message.setTo("[email protected]");
message.setSubject("my subject");
message.setText("my text <img src='cid:myLogo'>", true);
message.addInline("myLogo", new ClassPathResource("img/mylogo.gif"));
}
});
Phần nội dung của thông điệp là một trong những phần của thông điệp nhiều phần dữ liệu (lưu ý tham số thứ hai thiết lập là true vào constructor của MimeMessageHelper mà bộ thông điệp để nhắn nhiều phần dữ liệu).
Dòng message.addInline("myLogo"...
thêm hình ảnh làm một phần khác của thông điệp nhiều phần.
Bạn có thể sử dụng .setText
để đặt nội dung (nội dung HTML) của thông báo email.
Bạn có thể tham khảo các phần khác của email nhiều phần (hình ảnh của bạn) bằng cách sử dụng thẻ cid. Lưu ý cách thuộc tính img src là src='cid:myLogo'
. cid là id nội dung của hình ảnh, được gửi dưới dạng một phần của thông điệp nhiều phần.
vui lòng đăng lớp học của bạn MimeMessage MimeMessageHelper hoặc trực tiếp .jar – delive
Lựa chọn 01:
- đính kèm tập tin "mySignaturePictue.jpg" như kèm theo thư
- tài liệu tham khảo tập tin đính kèm này ra khỏi cơ thể (chèn nó) whith mã như:
<img src="cid:mySignaturePicture.png">
Lựa chọn 02:
- chuyển đổi hình ảnh của bạn thành một chuỗi base64: http://www.motobit.com/util/base64-decoder-encoder.asp
- chèn nó vào mailtext/html thân với mã như
<img alt="My Image" src="data:image/jpeg;base64,AWWhcalkjsd/beginning/RXhp/of+/long/base64cod/ZgAATU0/+BlaBlubbZ5u8/61a+Xand/much/more..." />
- Nhược điểm: điều này bị chặn bởi hầu hết khách hàng và sẽ tăng kích thước thư, xem: https://www.campaignmonitor.com/blog/email-marketing/2013/02/embedded-images-in-html-email/ và https://www.paperstreet.com/blog/email-marketing-embeded-images-cid-what-a-mess/
- 1. php gửi email html kèm theo tệp đính kèm .csv
- 2. Email file đính kèm
- 3. đính kèm tệp văn bản vào email
- 4. Gửi email bằng PHPMailer - nhúng hình ảnh vào nội dung
- 5. Nhúng hình ảnh vào email
- 6. Cách tham chiếu hình ảnh đính kèm từ nội dung email html trong CRM2011
- 7. đính kèm email trên iphone
- 8. DOMPDF - đính kèm PDF được tạo vào email
- 9. Làm cách nào để nhúng hình ảnh vào thư email Outlook HTML?
- 10. cách gửi email HTML có hình ảnh đính kèm bên trong với PHP
- 11. Cách nhúng hình ảnh vào nội dung HTML của email trong iOS
- 12. Đính kèm hình ảnh vào phần thân thư trong C#
- 13. Làm thế nào để dừng hình ảnh nhúng trong email được hiển thị dưới dạng tệp đính kèm của GMail?
- 14. Cách đính kèm nhiều tệp vào một email bằng JavaMail?
- 15. Cách đính kèm tệp vào thông báo email trong Teamcity
- 16. Đính kèm tập tin từ bộ nhớ trong vào email
- 17. Thêm tệp đính kèm vào một Email .NET
- 18. Giải mã MIME (HTML + Tệp đính kèm)
- 19. Android: Làm cách nào để đính kèm hình ảnh tạm thời, được tạo vào email?
- 20. Mở tệp đính kèm email trong Android
- 21. Set tên Email đính kèm trong C#
- 22. Mã Igniter -> đính kèm email
- 23. C# Chụp màn hình điều khiển .net trong ứng dụng và đính kèm vào Outlook Email
- 24. Cách đính kèm phần tử html vào chuột bằng jQuery?
- 25. Cách chụp ảnh và gửi ảnh dưới dạng tệp đính kèm email trong iOS
- 26. iOS: gửi email với tập tin đính kèm thêm một đính kèm (.txt) nộp tự động
- 27. Flex: TextArea đính kèm Hình ảnh
- 28. Delphi 7: Đính kèm hình ảnh vào Chuột
- 29. iOS 5 Đính kèm ảnh vào Twitter bằng Twitter API
- 30. cách đính kèm liên kết url vào hình ảnh?
Bạn đang cố gắng thực hiện điều này theo chương trình hoặc thông qua ứng dụng email? – biggusjimmus