Re: encrypted javamail MimeMultipart
On Jun 11, 7:22 pm, Martin Gregorie <mar...@address-in-sig.invalid>
wrote:
On Fri, 11 Jun 2010 06:53:14 -0700, euneve...@yahoo.co.uk wrote:
(4) should become:
- create a ByteArrayInputStream from the decrypted byte arra=
y -
pass that to a MimeMessage constructor.
At this point you can use the standard MimeMessage and
MultiPart methods to parse the message and extract its conte=
nt.
Sorry for all the repeats - the NNTP server I use threw a wobbly this
morning and I hadn't realised it was accepting the post *and then*
locking up until just now.
Thanks Martin but maybe you can help me:
As I said I'm new to this Javamail api and am looking for a succinct
way to obtain the attachment
I can do
MimeMessage msg = new MimeMessage(session, new
FileInputStream("file.txt"));
The resulting msg has three headers which looks right
But when I do
if (msg.getContent() instanceof Multipart) {
saveAttachment
}
True enough: MimeMessage.getContent() can return a lot of things
including InputStreams - thats why it returns an Object!
Did you do what I suggested and download both the JavaMail Design
Specification and the API Documentation? If not, go get them now and read
them. The first example in Design Specification Appendix B shows exactly
how to parse a multipart MIME message.
The Appendix B examples are all available as downloadable source code, so
you can run them and/or swipe useful code from them.
--
martin@ | Martin Gregorie
gregorie. | Essex, UK
org |- Hide quoted text -
- Show quoted text -
Martin
Thanks for your suggestion and I have obtained the Javamail Design
document you describe.
It is very good and I now know about Message, Part, MimePart,
MimeMultipart, MimeMessage and I can see there is an example of how to
read attachments.
I am not at my desk right now so I can't verify it however I am
concerned that if I do the following:
Object content = decryptContent(message, key, publicKey);
And then I try
if (content instanceof MimePart) {
...
}
if (content instanceof MimeMultiPart) {
...
}
if (content instanceof InputStream) {
...
}
And if my code finds itself in "InputStream" then I am back to square
one (?)
And how then do I obtain the attachment which I clearly have
Thanks again to everyone for their suggestions.