0

クライアントに電子メールを送信するWCFサービスがあります。そのメール本文はhtmlです。つまり、CSSスタイルと埋め込み画像があります。しかし今問題は、画像srcを完全なアドレスとして指定する必要があることです。したがって、wcfサービスの一部としてもイメージを公開し、その完全なアドレスを使用するオプションはありますか。

オープンソースの電子メールテンプレートエンジンを使用しているため、likedResourceオプションを使用したくない

Town Crier –.NET用のオープンソースの電子メールテンプレートエンジン http://thecodedecanter.wordpress.com/2010/07/19/town-crier-an-open-source-e-mail-templating-engine-for -ネット/

このエンジンでは、完全なアドレスとして画像を指定する必要があります。

より良い解決策をいただければ幸いです。

ありがとう、アラゲサン。

4

1 に答える 1

1

画像が静的で大きすぎない場合は、メッセージLinkedResourcesのプロパティを使用してメッセージ自体に画像を含めることができAlternateViewます。

AlternateView html = message.AlternateViews.FirstOrDefault(v => v.ContentType.Name == "text/html");
if (html != null)
{
    LinkeResource img = new LinkedResource(imgFileName, imgMimeType);
    img.ContentId = imgContentName;
    html.AddLinkedResources.Add(img);
}

次に、 URL構文img.ContentIdを使用してメッセージで参照されます。"cid:ContentId"したがって、画像にContentIdを"header.jpg"指定した場合は、次を使用してHTMLメールで画像を参照できます。<img src="cid:header.jpg" />

ただし、小さなロゴなどを挿入するのに便利です。

于 2013-02-15T01:28:35.070 に答える