如何为Apache James电子邮件添加附件?

时间:2016-02-04 14:29:22

标签: java apache spring-boot javamail james

请原谅我的无知但我以前从未在Java中设置过邮件服务器而且我只是设法发送了一封简单的明文电子邮件。我使用Apache James作为我的自定义本地服务器。第三方电子邮件服务器不是一种选择。

我已经在谷歌和Stack Overflow上搜索了任何可以向我展示如何将图像或pdf附加到James电子邮件并且什么也没找到的教程。

我目前正在使用带有Spring启动的Java,我可以成功上传多个文件并将它们存储在本地..这是我的代码:

   @RequestMapping(value="/uploadMultiples", method=RequestMethod.POST)
   public @ResponseBody String uploadMultiples(MultipartHttpServletRequest request){
       logger.info("POST /uploadMultiples");
       Map<String, MultipartFile> fileMap = request.getFileMap();
       for(String fileName:request.getFileMap().keySet()) {
           MultipartFile file = request.getFile(fileName);
           if (!file.isEmpty()) {
               try {
                   logger.info("file name:" + file.getName());
                   logger.info("original file name " + file.getOriginalFilename());
                   byte[] bytes = file.getBytes();
                   BufferedOutputStream stream =
                        new BufferedOutputStream(new FileOutputStream(new File(file.getOriginalFilename())));
                   stream.write(bytes);
                   stream.close();
               } catch (Exception e) {
                   return "You failed to upload " + file.getOriginalFilename() + " => " + e.getMessage();
               }
           } else {
               return "You failed to upload " + file.getOriginalFilename() + " because the file was empty.";
           }
       }return "success";

   }

如果有人知道如何将这些文件附加到电子邮件中并使用Apache James发送,这正是我正在寻找的。

1 个答案:

答案 0 :(得分:0)

您发布的代码与问题标题完全无关???为了创建带附件的电子邮件,附件的来源无关紧要,因此您的代码只是不必要的噪音(如果我错了,请纠正我。)

我的猜测是你要send an attachment using the java mail api's