2017-04-26 34 views
0

我想用Mailgun API发送一个内嵌的附带图像的电子邮件,但我不知道该如何解决它。哇,我知道我可以以某种方式将某些东西放到表格中,但是没有一点线索。原始图像内容?我怀疑我也应该将内容编码更改为多部分形式编码。如何在ASP.net Core应用程序中将内联图像嵌入到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); 
相关问题