2016-02-04 3 views
0

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

+0

Я не совсем уверен, что вы хотите сделать. Вы хотите загрузить файлы на свой сервер, а затем запустить программу на своем сервере для отправки электронной почты с помощью этих файлов? Или вы хотите запустить программу на машине, которая содержит файлы перед загрузкой, а затем прикрепить файлы к сообщениям электронной почты, которые вы отправляете на свой сервер Джеймса? В любом случае, прикрепление файла прост, см. [Часто задаваемые вопросы по JavaMail] (http://www.oracle.com/technetwork/java/javamail/faq/index.html#attach) и [примеры программ] (https://java.net/projects/javamail/pages/Home#Samples). –

ответ

0

Код, который вы опубликовали, не имеет ничего общего с заголовком вопроса ???. Чтобы создать электронное письмо с вложением, не имеет значения, откуда вставляются вложения, поэтому ваш код просто лишний шум (пожалуйста, поправьте меня, если я ошибаюсь).

Я предполагаю, что вы хотите send an attachment using the java mail api's

+0

Ну, это то, что у меня есть, я могу загружать файлы и хранить их локально, поэтому мне было интересно, как я могу изменить свой код, чтобы прикрепить те файлы, которые я загружаю в электронную почту. – Snorlux

+0

Будучи разработчиком, должно быть очевидно, что логика отправить электронное письмо будет таким же, независимо от того, где было создано приложение. Поэтому включение кода для загрузки файла - просто лишний шум. Также ваши тэги 'apache' и' spring-boot' являются просто лишним шумом. Я удивлен, что ты не упоминал, какую цветную футболку ты носишь :) –

Смежные вопросы