Java Reference
In-Depth Information
Folder
folder
=
session
.
getFolder
(
server
);
if
(
folder
==
null
)
{
System
.
out
.
println
(
"Folder "
+
server
.
getFile
()
+
" not found."
);
System
.
exit
(
1
);
}
folder
.
open
(
Folder
.
READ_ONLY
);
// Get the messages from the server
Message
[]
messages
=
folder
.
getMessages
();
for
(
int
i
=
0
;
i
<
messages
.
length
;
i
++)
{
System
.
out
.
println
(
"------------ Message "
+
(
i
+
1
)
+
" ------------"
);
// Print message headers
@SuppressWarnings
(
"unchecked"
)
Enumeration
<
Header
>
headers
=
messages
[
i
].
getAllHeaders
();
while
(
headers
.
hasMoreElements
())
{
Header
h
=
headers
.
nextElement
();
System
.
out
.
println
(
h
.
getName
()
+
": "
+
h
.
getValue
());
}
System
.
out
.
println
();
// Enumerate parts
Object
body
=
messages
[
i
].
getContent
();
if
(
body
instanceof
Multipart
)
{
processMultipart
((
Multipart
)
body
);
}
else
{
// ordinary message
processPart
(
messages
[
i
]);
}
System
.
out
.
println
();
}
// Close the connection
// but don't remove the messages from the server
folder
.
close
(
false
);
}
catch
(
MessagingException
|
IOException
ex
)
{
ex
.
printStackTrace
();
}
// Since we may have brought up a GUI to authenticate,
// we can't rely on returning from main() to exit
System
.
exit
(
0
);
}
public
static
void
processMultipart
(
Multipart
mp
)
throws
MessagingException
{
for
(
int
i
=
0
;
i
<
mp
.
getCount
();
i
++)
{
processPart
(
mp
.
getBodyPart
(
i
));
}
}
public
static
void
processPart
(
Part
p
)
{