2011-08-19 30 views
6

私は、自分のWebページ上のクライアントにリマインダ電子メールを送信するためのC#Webformプログラムを作成しました。画像を電子メールに埋め込む

Outlookでは問題なく動作します。 FireFox上のGmailにあります。

私はちょうど(私はIEを使用しないでください)IE 8ではGmailで画像が表示されないことを発見しましたか?

Xと代替テキストがあります。

私はなぜIE 8とgmailがイメージを表示しないのか理解できず、私はそれを少しだけ遊んだ。

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

と私のHTMLファイル内:C#で

電子メールを経由してニュースレターを送信する

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

はすべてdiffernentクライアントとSOイライラさせられます。 Gmailは私の問題だとは思わなかった! LinkedResourceの最後にこれを追加すること

+0

結果のMIME構造はどのようなものか? – tripleee

答えて

0

試してみてください。

logoPath, MediaTypeNames.Image.Jpeg); 

あなたのロゴを想定すると、コースのJPGです! また、htmlViewとAlternateViewはありますか?

+0

はいhtmlviewは代替画像です...その実際にはPNGしかし、病気を試してみてくださいありがとう! (最悪の場合はjpgに変換されます) – michael

+0

私はそれをjpgに変換して、それをddedしましたが、まだIEでGmailのXとして表示しています。( – michael

+0

ああ、これは残念です。我々は生産で使用する。 –

3

ウェブサイトでホストされている画像へのリンクではなく、画像をHTMLメールに埋め込む必要がありました。主な違いは、ユーザーが自分のメールクライアントで「すべての画像を表示」をクリックする必要がないことです。つまり、メールはすぐに受信者に表示されるはずです。

埋め込み画像を作成しました。Outlookやその他の電子メールクライアントでうまく機能しましたが、一部のメールクライアントではGmailに気付いたように気に入らないことがありました。 2日間の調査とさまざまなことを試した結果、すべての主要な電子メールクライアントに画像が埋め込まれていることを電子メールに正確に示すための銀色の弾丸はないと結論づけました。

我々は定住し、私たちのウェブサイト上の画像を主催しました(ユーザーは「すべての画像を表示」ボタンを...取得を意味する)、およびのようなものを使用:、あなたが忍耐を持っている場合は

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

を特定のアドレス(@ gmail.comなど)を除いてすべてのメールアドレスの画像を埋め込むことができますが、私の好みは一貫性があり、したがって画像にリンクするだけです。

0

非常に遅い答えですが、あなたが埋め込んでいるjpgはRBG jpgではない、おそらくCMYKです。

0

IEで動作していた画像が埋め込まれている既存の電子メールを見て問題を見つけました。明らかに、IEは、表示する必要があるコンテンツについて非常に不安です。コンテンツタイプを追加していても、

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

IEでは表示されませんでした。それから私は既存の電子メールを見て、その中のImageがコンテンツタイプ "image/png; name =" image1.png "を持っていたのですが、コンテンツタイプに名前を追加すると、画像が表示され始めました。画像の拡張子は画像で何をするかを知るためにsrc

関連する問題