java – Mailgun API:使用Spring的RestTemplate发送内联图像
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – Mailgun API:使用Spring的RestTemplate发送内联图像,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1899字,纯文字阅读大概需要3分钟。
内容图文
![java – Mailgun API:使用Spring的RestTemplate发送内联图像](/upload/InfoBanner/zyjiaocheng/822/58bfadd3ed6047eca1284bb117bec567.jpg)
目标是发送带有内嵌图像的电子邮件.一切都运作良好,除了图像没有出现在电子邮件中.
我的方法是基于泽西这个Mailgun’s User Guide的例子.
public static ClientResponse SendInlineImage() {
Client client = Client.create();
client.addFilter(new HTTPBasicAuthFilter("api",
"YOUR_API_KEY"));
WebResource webResource =
client.resource("https://api.mailgun.net/v3/YOUR_DOMAIN_NAME" +
"/messages");
FormDataMultiPart form = new FormDataMultiPart();
form.field("from", "Excited User <YOU@YOUR_DOMAIN_NAME>");
form.field("to", "baz@example.com");
form.field("subject", "Hello");
form.field("text", "Testing some Mailgun awesomness!");
form.field("html", "<html>Inline image here: <img src=\"cid:test.jpg\"></html>");
File jpgFile = new File("files/test.jpg");
form.bodyPart(new FileDataBodyPart("inline",jpgFile,
MediaType.APPLICATION_OCTET_STREAM_TYPE));
return webResource.type(MediaType.MULTIPART_FORM_DATA_TYPE).
post(ClientResponse.class, form);
}
但是,我需要使用Spring的RestTemplate.
这是我到目前为止所得到的:
RestTemplate template = new RestTemplate();
MultiValueMap<String, Object> map = new LinkedMultiValueMap<>();
// ... put all strings in map (from, to, subject, html)
HttpHeaders headers = new HttpHeaders();
// ... put auth credentials on header, and content type multipart/form-data
template.exchange(MAILGUN_API_BASE_URL + "/messages", HttpMethod.POST,
new HttpEntity<>(map, headers), String.class);
剩下的部分是将* .png文件放入地图中.不知道该怎么做.尝试通过ServletContextResource#getInputStream读取所有字节,但没有成功:图像没有出现在生成的电子邮件中.
我在这里错过了什么吗?
解决方法:
事实证明这是一切都设置正确的情况,但只有一小部分细节阻止它工作.
map.add("inline", new ServletContextResource(this.servletContext,
"/resources/images/email-banner.png"));
对于Mailgun,您需要使用map-key“inline”.此外,ServletContextResource还有一个方法getFilename(),用于解析图像标记.因此,图像标记应具有以下内容ID:
<img src="cid:email-banner.png"/>
内容总结
以上是互联网集市为您收集整理的java – Mailgun API:使用Spring的RestTemplate发送内联图像全部内容,希望文章能够帮你解决java – Mailgun API:使用Spring的RestTemplate发送内联图像所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。