请原谅我的无知,但我以前从未在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发送它,那正是我正在寻找的。
你发布的代码与问题标题完全无关???。为了创建带有附件的电子邮件,附件来自哪里并不重要,所以你的代码只是不必要的噪音(如果我错了,请纠正我)。
我猜你想用java邮件api发送附件