Java邮件。回复信息分离为信息和附件
问题描述:
我设置的短信附加为信中的文本文件。我不明白为什么会发生。Java邮件。回复信息分离为信息和附件
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();
}
}
答
那是因为你要附加原始消息第一和原来的消息后回复文本。大多数邮寄者都会将回复文本显示为附件。先把答复文字。另外,原始消息通常不会作为回复的附件添加。原始信息的文本通常包含在答复的文本中。请参阅此JavaMail FAQ条目composing the reply text和此JavaMail FAQ条目finding the main body text in the original message。
目前尚不清楚你想要做什么。您是否尝试将原始邮件附加到回复邮件中?您创建的第一个MimeBodyPart永远不会添加到MimeMultipart。这[JavaMail FAQ条目](http://www.oracle.com/technetwork/java/javamail/faq/index.html#forward)可能会有所帮助。 –
比尔感谢您的回复。我尝试回复收到的消息。但是我的回复信息附加为原始信息的文件。对不起,复制粘贴错误。在代码中修复。 –