java - 如何使用 InputStream 发送带附件的电子邮件
问题描述
你好首先我从我的前端得到我的pdf
@RequestMapping(value = "/enviarCorreoAdjunto", method = RequestMethod.POST)
@ResponseBody
ResponseMetadata enviarCorreoAdjunto(@RequestParam("file") MultipartFile multipartFile, @RequestParam("ruta") String Ruta,
Model model) {
String result;
boolean resultado = false;
try {
// System.out.println("MILYmultipartFile"+ multipartFile.getInputStream());
resultado = procesoOperacionesDao.enviarCorreoAdjunto(Ruta, multipartFile.getInputStream());
ResponseMetadata metadata = new ResponseMetadata();
metadata.setMessage("success");
metadata.setData(result);
metadata.setStatus(200);
return metadata;
}
当我尝试使用 messageHelper.addAttachment("attachment",new ByteArrayResource(IOUtils.toByteArray(inputStream))) 时出现错误
@Override
public boolean
enviarCorreoAdjunto(String targetPath, InputStream inputStream) throws Exception {
System.out.println("PROBANDO INGRESO COREO");
final MimeMessagePreparator messagePreparator = mimeMessage -> {
final MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage);
messageHelper.setFrom("automatizacion@gmail.com");
messageHelper.setTo("hportillap@gmail.com");
messageHelper.setSubject("REPORTE DE PLAN DE CUMPLIMIENTO");
messageHelper.setText("PRUEBA", true);
messageHelper.addAttachment("attachement",new ByteArrayResource(IOUtils.toByteArray(inputStream)));
//messageHelper.addAttachment("attachement", new ByteArrayResource(inputStream.getBytes(StandardCharsets.UTF_8)), MediaType.TEXT_HTML.toString());
};
try {
javaMailSender.send(messagePreparator);
} catch (final MailException e) {
e.printStackTrace();
}
return true;
}
当我在没有附件的情况下运行该功能时,它可以工作并且我收到了邮件
解决方案
推荐阅读
- javascript - Google Chrome v74 的设备事件返回未定义
- c# - Azure Function blob 输入绑定与 servicebus 触发器
- firebase - 尝试从云功能中删除 firestore 集合时未找到 firebase_tools
- java - 不同类型不写入文件
- asp.net-mvc - 如何在 MVC 模板中更改 url / 路由
- dart - 如何将 CupertinoApp 包装在 Localizations 小部件中,以便我可以在其中使用 Material 小部件?
- c# - 财产和完整财产之间的区别
- php - 如何将数据从一个表移动到 MySQL (MariaDB) 中的 EAV 结构中
- c++ - C++ 仅使用指针更改数组元素
- python - Python:尝试查找两个列表时出现不可迭代错误