Извините за неосведомленность, но мне никогда раньше не приходилось настраивать почтовый сервер на Java, и мне только что удалось отправить простое электронное письмо с открытым текстом. Я использую Apache James в качестве собственного локального сервера. Сторонний почтовый сервер не подходит.
Я искал в Google и Stack Overflow любые руководства, которые показали бы мне, как можно прикрепить изображение или PDF-файл к электронному письму Джеймса, и ничего не нашел.
В настоящее время я использую 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, это будет именно то, что я ищу.