2013-06-16 2 views
0

В образовательных целях я пытаюсь отправить напрямую, используя Jav Mail, байт [] без сохранения в качестве файла.Как правильно настроить JavaMail для отправки байтов [] вложений

У меня есть это:

 Properties props = new Properties(); 
     props.put("mail.debug", "true"); 
     props.put("mail.transport.protocol", "smtp"); 
     props.put("mail.smtp.host", SMTP_HOST_NAME); 
     props.put("mail.smtp.auth", "true");    
     props.put("mail.smtp.starttls.enable", "true"); 
     props.put("mail.smtp.port", "587");     

     Authenticator auth = new SMTPAuthenticator(); 

     Session mailSession = Session.getDefaultInstance(props, auth); 
     Transport transport = mailSession.getTransport(); 

     MimeMessage message = new MimeMessage(mailSession); 
     message.setSubject (asunto, "text/plain"); 
     message.setContent(mensaje, "text/plain"); 
     message.setSentDate (new java.util.Date()); 
     message.setFrom(new InternetAddress(SMTP_AUTH_USER)); 

     InternetAddress address[] = new InternetAddress[destino.length]; 
     for(int i = 0; i < destino.length; i++) { 
      address[i] = new InternetAddress (destino[i]); 
     } 
     message.setRecipients (Message.RecipientType.TO, address); 

     if (adjuntos){ 
      MimeBodyPart mbp = new MimeBodyPart(); 
      mbp.setFileName("AttachedFile"); 
      DataSource ds = new ByteArrayDataSource(archive, MIME); 
      mbp.setDataHandler(new DataHandler(ds)); 
     }   

     transport.connect(); 
     transport.sendMessage(message,message.getRecipients(Message.RecipientType.TO)); 

     transport.close(); 

Но когда я получаю почту, не имеют каких-либо вложений. Я не эксперт, но я думаю, что MimeBodyPart не привязан к сообщению.

Заранее благодарен!

ответ

0

Я нахожу это и работаю для меня :) Спасибо!

 Multipart mp = new MimeMultipart(); 
     mp.addBodyPart(mbp); 
     message.setContent(mp); 
Смежные вопросы