2011-08-19 27 views
6

Web sayfamdaki istemcilere hatırlatıcı e-posta göndermek için bir C# Web formu program oluşturdum.E-postaları Yansıma Resimler

Outlook'ta iyi çalışıyor. ve Gmail’de FireFox’ta.

Az önce bulduğum (IE kullanmıyorum) IE'de gmail'de görüntüyü göstermiyor mu?

Sadece bir X ve alt metni var.

IE 8 ve gmail'in görüntüleri neden etkilemediğini anlayamıyorum ve bununla biraz oynamışım.

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

ve benim HTML dosyasında: C#

E-posta ile Bülten gönderme

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

tüm differnent müşterilerle SO sinir bozucu. ama Gmail’in benim sorunum olacağını hiç düşünmemiştim! LinkedResource sonuna bu ekleme

+0

Ortaya çıkan MIME yapısı neye benziyor? – tripleee

cevap

0

Dene:

logoPath, MediaTypeNames.Image.Jpeg); 

Logonuzu varsayarsak tabii bir JPG! Ayrıca, htmlView ve AlternateView nedir?

+0

evet htmlview bir alternatif görünümdür ...onun aslında bir png ama hasta deneyin! (en kötü durum jpg'ye dönüştürülecek) – michael

+0

jpg'ye dönüştürdüm ve bunun hala gmail ile bir X olarak gösterdiği IE :( – michael

+0

Oh, bu utanç verici; bu, daha önce gönderdiğiniz kodla bazı kod arasındaki tek fark. biz üretimde kullanıyoruz. –

3

Web sitemizde barındırılan görüntülere bağlantı vermek yerine görüntüleri HTML e-postasına gömmek için benzer bir gereksinimimiz vardı. Ana fark, kullanıcının e-posta istemcisinde "tüm görüntüleri göster" e tıklaması gerekmediği, yani e-postanın hemen alıcıya verildiği görünmesidir.

Gömülü görüntüleri oluşturduk ve Outlook'ta ve diğer bazı e-posta istemcilerde harika çalışıyorduk, ancak bazı e-posta istemcilerinin gmail ile fark ettiğiniz gibi beğenmediklerini keşfettik. Birkaç gün boyunca farklı şeyleri araştırdıktan ve denedikten sonra, e-postanızın tüm ana e-posta istemcilerinde gömülü görüntüleri doğru bir şekilde göstermesini sağlamak için gümüş mermi bulunmadığı sonucuna vardık. , Eğer sabır varsa

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

:

Biz ve benzeri bir şey kullanılmış (kullanıcı düğme ... "Tüm görüntüleri göstermek" alır anlamına gelir) yerleşmiş ve sadece sitemizde görüntüleri barındırılan Belirli bir adres (@ gmail.com gibi) haricinde tüm e-posta adresleri için resimler yerleştirebilirsiniz, ancak tercihim tutarlılık ve dolayısıyla yalnızca resimlerle bağlantı kuracaktır.

0

Çok geç cevap ama bahse girdiğim jpg, muhtemelen bir CMYK olan bir RBG jpg değil.

0

Bu sorunu, IE üzerinde çalışan yerleşik görüntülere sahip mevcut bir e-postaya bakarak anladım. Görünüşe göre IE, gösterilmesi gereken içerik hakkında çok seçici. Ben bile içerik tip

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

ekleyerek olsa IE gösterilmesini değildi. Sonra var olan bir e-postaya baktım ve içindeki resim "image/png; name =" image1.png "türünde içeriğe sahiptim. Bir kere içerik türünü ekledikten sonra, görüntüler ortaya çıktı. image extension ile ne yapılacağını bilmesi için image extension