我正在尝试使用 Mailgun API 通过电子邮件发送内联附加图像,但我不知道如何解决它。我知道我可以以某种方式在表格中添加一些内容,但不知道是什么。原始图像内容?我怀疑我还应该将内容编码更改为多部分形式编码。
不幸的是,我在网上找不到任何例子。
有人可以帮我吗?
提前致谢。 加布里埃尔
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));
最佳答案
我可以设法用这种方式解决它:
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);
关于email - 如何将内联图像嵌入到 ASP.net Core 应用程序中的 Mailgun?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43636174/