2017-11-21 19 views
0

私はoutlookと電子メールを送信する必要があります、ボディはhtmlで、それはうまくexcep私のressourceに画像のインクルードを使用しようとすると動作していないです。c#htmlコードでressourceイメージを使用してください

マイコード:

var Logo = Properties.Resources.Logo; 
oMsg.HTMLBody = oMsg.HTMLBody + "<img src = \"" + Logo + "\">"; 

なしエラーもなし画像!誰かが私を助けることができますか?ここで

おかげ

新しい情報:ここでは

が私の新しいコードです:

public static byte[] ExtractResource(Bitmap image) 
{ 
    MemoryStream ms = new MemoryStream(); 

    image.Save(ms, ImageFormat.Jpeg); 
    if (ms == null) 
     return null; 
    byte[] imageByteArray = ms.ToArray(); 
    return imageByteArray; 
} 
private static string Base64FromByteArray(byte[] image) 
{ 
    return Convert.ToBase64String(image); 
} 

、コールがある:

 String imgBase64 = Base64FromByteArray(ExtractResource(Properties.Resources.Logo)); 

    oMsg.HTMLBody = oMsg.HTMLBody + "<table><td><img src = \"data:image/jpeg;base64," + imgBase64 + "\" /></td></table>"; 

エラーはありませんが、中にはまだありませんロゴ私のメール !!誰かが私のコードでエラーを見ますか?

+0

「ロゴ」の価値は何ですか?電子メールはhtmlまたはプレーンテキストで送信されますか? [mcve]ヘルプページを確認してください。 – bradbury9

+0

ロゴはjpeg画像であり、電子メールのhtmlコンテンツです –

+0

変数の実際の値は説明ではありません。 toadflakzさんの答えをチェックしてください。役立つとしたら、マークは回答/参考になります – bradbury9

答えて

2

HTMLボディのIMGタグで、データURLスキームを使用してBase64でエンコードされたイメージを使用する必要があります。

上記のリンクからEmbed BASE64-Encoded Images Inline In HTML

<img src=”data:<MIMETYPE>;base64,<BASE64_ENCODED_IMAGE>”>

<img src=”data:image/png;base64,iVBORw0KGgoAAAANS… (see source for full base64 encoded image) …8bgAAAAASUVORK5CYII=”>

その他の便利なリンクから:

RFC2397 - The "data" URI Scheme

Wikipedia - Data URI Scheme

関連する問題