2011-08-19 46 views
6

Tôi đã tạo một progam biểu mẫu web C# để gửi email nhắc nhở cho khách hàng trên trang web của tôi.Nhúng hình ảnh vào email

Nó hoạt động tốt trong Outlook. và trong Gmail trên FireFox.

Tôi vừa phát hiện ra (tôi không sử dụng IE) mà trong IE 8 trong gmail nó không hiển thị hình ảnh?

Nó chỉ có văn bản X và alt.

Tôi không thể hiểu tại sao IE 8 và gmail không phân phối hình ảnh và tôi đã chơi với nó một chút.

trong C#:

LinkedResource emo2 = new LinkedResource(logoPath); 
emo2.ContentId = "logo"; 
emo2.TransferEncoding = System.Net.Mime.TransferEncoding.Base64; 
htmlView.LinkedResources.Add(emo2); 

và trong tập tin HTML của tôi:

<img id="header" alt="MyWebpage" src="cid:logo" /> 

gửi thư thông báo qua email là SO bực bội với tất cả các khách hàng differnent. nhưng tôi chưa bao giờ nghĩ Gmail là vấn đề của tôi!

+0

Cấu trúc MIME kết quả như thế nào? – tripleee

Trả lời

0

Hãy thử thêm này đến hết LinkedResource:

logoPath, MediaTypeNames.Image.Jpeg); 

Giả sử logo của bạn là một JPG tất nhiên! Ngoài ra, là htmlView và AlternateView?

+0

có htmlview là một lựa chọn thay thế ...nó thực sự là một png nhưng bệnh cố gắng cảm ơn! (trường hợp xấu nhất sẽ chuyển thành jpg) – michael

+0

Tôi đã chuyển đổi thành jpg và dded nhưng vẫn hiển thị dưới dạng X trong gmail với IE: ( – michael

+0

Ồ, đó là một sự xấu hổ; đó là sự khác biệt duy nhất giữa mã bạn đã đăng trước đó và một số mã chúng tôi sử dụng trong sản xuất. –

3

Chúng tôi đã có một yêu cầu tương tự để nhúng hình ảnh vào email HTML thay vì liên kết đến hình ảnh được lưu trữ trên trang web của chúng tôi. Sự khác biệt chính là người dùng không cần phải nhấp vào "hiển thị tất cả hình ảnh" trong ứng dụng email của họ, tức là email sẽ xuất hiện ngay lập tức được hiển thị cho người nhận.

Chúng tôi đã tạo hình ảnh được nhúng và nó hoạt động tốt trong Outlook và một số ứng dụng email khác, nhưng chúng tôi phát hiện thấy một số ứng dụng email không thích chúng như bạn đã nhận thấy với gmail. Sau một vài ngày nghiên cứu và thử những thứ khác nhau, chúng tôi kết luận rằng không có viên đạn bạc nào để làm cho email của bạn hiển thị chính xác hình ảnh được nhúng trong tất cả các ứng dụng email chính.

Chúng tôi định cư và vừa tổ chức các hình ảnh trên website của chúng tôi (có nghĩa là người dùng nhận được "hiển thị tất cả hình ảnh" nút ...), và sử dụng một cái gì đó như:

<img src="http://website/image.jpg"/> 

Nếu bạn có đủ kiên nhẫn, bạn có thể nhúng hình ảnh cho tất cả các địa chỉ email ngoại trừ một số địa chỉ nhất định (chẳng hạn như @ gmail.com), nhưng tuỳ chọn của tôi sẽ nhất quán và do đó chỉ liên kết đến hình ảnh.

0

Câu trả lời rất muộn nhưng tôi đặt cược jpg bạn đang nhúng không phải là một jpg RBG, có thể là CMYK của nó.

0

Tôi đã tìm ra sự cố bằng cách xem email hiện tại có hình ảnh nhúng đang hoạt động trên IE. Rõ ràng IE là rất cầu kỳ về nội dung cần được hiển thị. Mặc dù tôi đã thêm loại nội dung

var imgContentType = new ContentType(MediaTypeNames.Image.Jpeg); 

Nó không được hiển thị trong IE. Sau đó, tôi đã xem một email hiện có và Hình ảnh trong đó có loại nội dung "image/png; name =" image1.png ". Khi tôi đã thêm tên vào loại nội dung, hình ảnh bắt đầu hiển thị. Tôi đoán rằng IE cần phần mở rộng hình ảnh để biết phải làm gì với hình ảnh src

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