2017-07-26 21 views
0

こんにちは、私は他のユーザーに電子メールを送信してメールに画像を埋め込むことができる電子メールアプリケーションを作成します(添付ファイルは不要です)。 だから私はそうすることができるコードを持っていますが、私はこのコードを使って特定の場所に写真を保存することができます。どこから写真を撮るべきですか?埋め込み画像でメールを送信するには勝利フォームC#

private void button2_Click(object sender, EventArgs e) 
    { 
     string htmlBody = "<html><body><h1>Picture</h1><br><a href=\"www.google.com\"><img src=\"cid:Pic1\"></a></body></html>"; 
     AlternateView avHtml = AlternateView.CreateAlternateViewFromString 
      (htmlBody, null, MediaTypeNames.Text.Html); 
     // Create a LinkedResource object for each embedded image 
     LinkedResource pic1 = new LinkedResource("arrow.png", MediaTypeNames.Image.Jpeg); 
     pic1.ContentId = "Pic1"; 
     avHtml.LinkedResources.Add(pic1); 
     // Add the alternate views instead of using MailMessage.Body 
     MailMessage m = new MailMessage(); 
     m.AlternateViews.Add(avHtml); 
     // Address and send the message 
     m.From = new MailAddress("[email protected]", "Sender Name"); 
     m.To.Add(new MailAddress("[email protected]", "Testing Subject")); 
     m.Subject = "A picture using alternate views"; 
     SmtpClient client = new SmtpClient("smtp.gmail.com"); 
     client.Port = 587; 
     client.Credentials = new System.Net.NetworkCredential("[email protected]", "mypassword"); 
     client.EnableSsl = true; 
     client.Send(m); 
    } 

答えて

0

私はいつでもあなたの写真を保存することができますね。ラインを変更するだけです:

LinkedResource pic1 = new LinkedResource("arrow.png", MediaTypeNames.Image.Jpeg); 

...完全なパスを含めてください。たとえば、PICTURES_PATHという変数にパスが格納されている場合は、次の操作を実行できます。

LinkedResource pic1 = new LinkedResource(System.IO.Path.Combine(PICTURES_PATH, "arrow.png"), MediaTypeNames.Image.Jpeg); 

希望するものがあります。

+0

私は誰かが答えているかどうかを確認する前にそれを実際に見つけましたが、あなたの答えは同じです。私は思いついたので、他の人に助けになるかもしれません。 。 – darklup

関連する問題