2016-09-15 4 views
1

Я написал ниже код для отправки электронной почты с приложением. Я могу получить вложение, но сообщение в теле письма не придет. Могу я узнать, какую ошибку я совершил. Заранее спасибо .сообщение в теле письма не приходит

Код, как показано ниже

 Session session = Session.getDefaultInstance(properties); 
     from = email; 
     Message msg = new MimeMessage(session); 
    // Instantiatee a message 
     //Set message attributes 
     msg.setFrom(new InternetAddress(from)); 

     msg.addRecipients(Message.RecipientType.BCC, 
     InternetAddress.parse("[email protected]")); 

     //InternetAddress[] address = {new InternetAddress(to)}; 
     InternetAddress[] address = {new InternetAddress(groupemail)}; 
     msg.setRecipients(Message.RecipientType.TO, address); 
     msg.setSubject("EIDMS Contact Us information "); 
     msg.setSentDate(new Date()); 

     String prefix = "<html><body>"; 
     StringBuilder sb= new StringBuilder(prefix); 

      Connection conn = connections(); 
     Statement statement = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); 



     System.out.println("inside if looppp .................."); 
     sb.append("[Title: "+helparea+"] <BR>" 
       + "[SR Type:Incident]<BR>[Description: "+jsutify+"<BR> Firstname:"+firstname+" Lastname:"+lastname+"<BR> Org:"+org+" Email :"+email+" Index no:"+index+"]<BR>[Region:"+region+"]<BR>" 
       + "[Area:"+area+"]<BR>[Source:Web]<BR>[Requested Item:"+requesteditem+"]<BR>[Sub-Area:"+subarea+"]<BR>[Sub-Area1:"+subarea1+"]<BR>" 
       + "[Severity:3-Medium] <BR>[On Behalf Of Badge:"+index+"]<BR>[On Behalf Of Index:"+index+"]<BR>" 
       + "[UNIN On Behalf Email Addr: "+email+"]<BR>[UNIN Requestor Email Addr: "+email+"]<BR>[Reported By Index:"+index+"]<BR>" 
       + "[Reported By Badge:"+index+"]<BR>[Alternate Contact Name: "+firstname+" "+lastname+"]<BR>" 
       + "[Alternate Email Address:"+email+"]<BR>[Point of Contact:Reported By]<BR><BR>[Impact:Low]<BR><BR>[Urgency:Medium]<BR><BR>[Severity:3-Medium]<BR>" 
       + "[SR Assigned To Group: "+srgroup+"]<BR></BODY></HTML>"); 
     msg.setContent(sb.toString(), "text/html"); 
     System.out.println("second email"); 
     System.out.println(sb.toString()); 


     BodyPart messageBodyPart = new MimeBodyPart(); 
     Multipart multipart = new MimeMultipart(); 


     // Now set the actual message 
     messageBodyPart.setText(sb.toString()); 

    // Set text message part 
     multipart.addBodyPart(messageBodyPart); 

     //code to attach the file 
     //String filename = filePath; 
     String filename = "C:/Users/S.Mandava/Documents/ContactusAction.java"; 
     DataSource source = new FileDataSource(filename); 
     messageBodyPart.setDataHandler(new DataHandler(source)); 
     messageBodyPart.setFileName(filename); 
     multipart.addBodyPart(messageBodyPart); 
     msg.setContent(multipart); 
     System.out.println("Attaching the file"); 

ответ

1

Как описано в JavaMail FAQ, при отправке сообщения с вложениями основная часть тела должна быть первой части тела в приложении. Вы дважды настраиваете содержимое сообщения, а второй - перезаписывает то, что было сделано при первом вызове.

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