2017-04-26 9 views
0

Mailgun APIを使用して電子メールでインライン添付イメージを送信しようとしていますが、どうすれば解決できるかわかりません。私は何とかフォームに何かを入れることができるが、手がかりがないことを知っている。生の画像の内容?私はコンテンツのエンコーディングをマルチパート形式のエンコーディングに変更する必要があると考えています。ASP.netコアアプリケーションのインラインイメージをMailgunに埋め込むにはどうしたらいいですか?

残念ながら、ネットで例が見つかりませんでした。

誰かが私を助けてくれますか?

ありがとうございます。 ガブリエル

var client = new HttpClient(); 
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(UTF8Encoding.UTF8.GetBytes("api:" + API_KEY))); 

var form = new Dictionary<string, string>(); 
form["from"] = FROM; 
form["to"] = string.IsNullOrEmpty(name) ? email : name + "<" + email + ">"; 
form["subject"] = subject; 
form["html"] = message; 

HttpResponseMessage response = await client.PostAsync("https://api.mailgun.net/v2/" + DOMAIN + "/messages", new FormUrlEncodedContent(form)); 

答えて

0

私はこの方法でそれを解決するために管理することができます:

var client = new HttpClient(); 
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(UTF8Encoding.UTF8.GetBytes("api:" + API_KEY))); 

var content = new MultipartFormDataContent(); 
content.Add(new StringContent(FROM), "from"); 
content.Add(new StringContent(string.IsNullOrEmpty(name) ? email : name + "<" + email + ">"), "to"); 
content.Add(new StringContent(subject), "subject"); 
content.Add(new StringContent(message), "html"); 
var fileStream = new StreamContent(File.Open("./wwwroot/images/emaillogo.png", FileMode.Open, FileAccess.Read)); 
content.Add(fileStream, "inline", "logo.png"); 

HttpResponseMessage response = await client.PostAsync("https://api.mailgun.net/v2/" + DOMAIN + "/messages", content); 
関連する問題