2017-04-26 3 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);