提问者:小点点

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


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

我在Google和Stack Overflow上搜索了任何可以向我展示如何将图像或pdf附加到James电子邮件的教程,但一无所获。

我目前使用Java与Spring启动,我可以成功上传多个文件并将它们存储在本地…

   @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个答案

匿名用户

你发布的代码与问题标题完全无关???。为了创建带有附件的电子邮件,附件来自哪里并不重要,所以你的代码只是不必要的噪音(如果我错了,请纠正我)。

我猜你想用java邮件api发送附件