2016-04-15 8 views
1

Textnachricht, die ich festlege, ist als Textdatei im Brief angehängt. Ich verstehe nicht, warum es passiert.Java-Mail. Antwortnachricht getrennt als Nachricht und Anhang

replied letter example

public void sendEmail(MimeMessage message, String textMessage){ 
     Session session = getSession(); 
     Transport transport = null; 
     BodyPart part = new MimeBodyPart(); 

     MimeMultipart multipart = new MimeMultipart(); 
     try { 
      String recipients = InternetAddress.toString(message.getRecipients(Message.RecipientType.TO));    
      MimeMessage replyMessage = (MimeMessage) message.reply(false); 
      replyMessage.setSubject("RE: " + message.getSubject()); 
      replyMessage.setFrom(new InternetAddress(APPROVER)); 
      replyMessage.setReplyTo(message.getReplyTo()); 

      replyMessage.addRecipients(Message.RecipientType.TO, recipients); 

      part.setContent(message.getContent(), message.getContentType()); 
      multipart.addBodyPart(part); 
      part = new MimeBodyPart(); 
      part.setText(textMessage); 
      multipart.addBodyPart(part); 
      replyMessage.setContent(multipart); 

      transport = session.getTransport("smtp"); 
      transport.connect(SERVER_HOST, APPROVER, APPROVER_PASSWORD); 
      transport.sendMessage(replyMessage, replyMessage.getAllRecipients()); 
     } catch (IOException|MessagingException e) { 
      e.printStackTrace(); 
     } 
    } 
+0

Es ist nicht klar, was Sie zu tun versuchen. Versuchen Sie, die ursprüngliche Nachricht als Anlage an die Antwortnachricht anzuhängen? Das erste MimeBodyPart, das Sie erstellen, wird dem MimeMultipart nie hinzugefügt. Dieser [JavaMail FAQ-Eintrag] (http://www.oracle.com/technetwork/java/javamail/faq/index.html#forward) könnte helfen. –

+0

Bill danke für Ihre Antwort. Ich versuche, für eingehende Nachricht zu antworten. Aber meine Antwortnachricht wird als Datei für die ursprüngliche Nachricht angehängt. Entschuldigung, Fehler beim Kopieren und Einfügen. Im Code behoben. –

Antwort

1

Das ist, weil Sie die ursprüngliche Nachricht, nachdem die ursprünglichen Nachricht zuerst und den Antworttext angebracht sind. Die meisten Mailer werden den Antworttext als Anhang anzeigen. Setzen Sie den Antworttext zuerst. Außerdem wird die ursprüngliche Nachricht normalerweise nicht als Anhang zur Antwort hinzugefügt. Oft ist der Text der ursprünglichen Nachricht im Text der Antwort enthalten. Sehen Sie diesen JavaMail-FAQ-Eintrag für composing the reply text und diesen JavaMail-FAQ-Eintrag für finding the main body text in the original message.

Verwandte Themen