我需要使用java来查看邮件。从这些邮件我想知道附件的名称(如果有的话),我想知道该消息。
是否可以打印附件的名称,还可以打印邮件的内容?目前我正在使用以下代码,只获取附件的名称或(如果他们是没有)消息内容。
Message[] message = folder.getMessages();
//Display message.
for (int i = 0; i < message.length; i++) {
System.out.println("------------ Message " + (i + 1) + " ------------");
System.out.println("SentDate : " + message[i].getSentDate());
System.out.println("From : " + message[i].getFrom()[0]);
System.out.println("Subject : " + message[i].getSubject());
Multipart multipart = (Multipart) message[i].getContent();
for (int x = 0; x < multipart.getCount(); x++) {
BodyPart bodyPart = multipart.getBodyPart(x);
String disposition = bodyPart.getDisposition();
if (disposition != null && (disposition.equals(BodyPart.ATTACHMENT))) {
DataHandler handler = bodyPart.getDataHandler();
System.out.println("Attachment : " + handler.getName());
} else {
System.out.println("Content: " + bodyPart.getContent());
}
}
答案 0 :(得分:0)
是的,可能。试试这个例子
Multipart mp = (Multipart)message.getContent();
for (int i=0, n=multipart.getCount(); i<n; i++) {
Part part = multipart.getBodyPart(i));
String disposition = part.getDisposition();
if ((disposition != null) &&
((disposition.equals(Part.ATTACHMENT) ||
(disposition.equals(Part.INLINE))) {
saveFile(part.getFileName(), part.getInputStream());
}
}