2016-09-15 70 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所描述的,帶有附件發送消息時在主體部分必須是附接的第一主體部分。您將消息內容設置兩次,第二次調用覆蓋第一次調用完成的內容。

相關問題