0

私はこのhtmlをメールとして送信しています(フィドルを参照)。2つの外部画像(1つは会社のロゴ用、もう1つはテーブルの背景用)を使用しています::

http://jsfiddle.net/UTSnK/

<img src="http://www.hawkaviation.com/assets/static-header.jpg" alt="Hawk Aviation""/></a>

<table border="0" cellspacing="0" cellpadding="0" style="background:rgba(55, 20, 240, 0.99) url('http://www.hisplaceautorepair.com/images/auto/Primary_Images/napa_bg.jpg'); padding: 38px">

コードから多くの電子メール クライアント (gmail、yahoo、ios) に送信します。Outlook クライアントでのみ画像が表示されません: ここに画像の説明を入力

どうすればそれを克服できますか?これは、(C# コードを介して) 送信する方法や、画像を html にリンクする方法に関連していますか?

ステップバイステップの回答をいただければ幸いです。よろしく、オマー。

4

2 に答える 2

1

これは、Outlookでこれを機能させる方法です

private MailMessage report = new MailMessage();

...

if (this.report.IsBodyHtml)
{
            AlternateView htmlView = AlternateView.CreateAlternateViewFromString(this.bodyText.ToString(), this.report.BodyEncoding, "text/html");

            LinkedResource headerImageLink = new LinkedResource(ConfigReader.GetConfigValue("ImageLocation") + "\\MyBanner.gif", "image/gif");
            headerImageLink.ContentId = "headerImageId";
            headerImageLink.TransferEncoding = System.Net.Mime.TransferEncoding.Base64;

            LinkedResource footerImageLink = new LinkedResource(ConfigReader.GetConfigValue("ImageLocation") + "\\horizontal_c.gif", "image/gif");
            footerImageLink.ContentId = "footerImageId";
            footerImageLink.TransferEncoding = System.Net.Mime.TransferEncoding.Base64;

            htmlView.LinkedResources.Add(headerImageLink);
            htmlView.LinkedResources.Add(footerImageLink);

            this.report.AlternateViews.Add(htmlView);
}

上の画像を参照する HTML は次のとおりです。

<IMG src=\"cid:headerImageId\"/>

headerImageIdは、 LinkedResourceの ContentId を参照します。

基本的に、クライアントに到着すると画像として再構成される転送用に画像をテキストに変換しています。

于 2013-07-08T14:10:45.193 に答える