Drag & Drop email from outlook to Swing

R

rdeman

Hello all,

I would like to manage the drag & drop of an email from outlook to a
Swing application.

I have tryed the following code:
Transferable tr = dropTargetDropEvent.getTransferable();
if (tr.isDataFlavorSupported(DataFlavor.stringFlavor)) {
dropTargetDropEvent.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
String string = (String)
tr.getTransferData(DataFlavor.stringFlavor);

But this only gives me the displayed fields of the email in outlook
(from, to, subject and size) but not the body.

What I would like to do is to write an msg file on the file system
(exactly as when you drop the mail into the windows explorer) and index
it in lucene.
I would also be happy if I could get an id of the email that I can use
afterwards to access it through a dedicated API (like moyosoft although
it is commercial).

Any help would be appreciated
Thank you in advance
 
A

alexr

Hello all,

I would like to manage the drag & drop of an email from outlook to a
Swing application.

I have tryed the following code:
Transferable tr = dropTargetDropEvent.getTransferable();
if (tr.isDataFlavorSupported(DataFlavor.stringFlavor)) {
dropTargetDropEvent.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
String string = (String)
tr.getTransferData(DataFlavor.stringFlavor);

But this only gives me the displayed fields of the email in outlook
(from, to, subject and size) but not the body.

What I would like to do is to write an msg file on the file system
(exactly as when you drop the mail into the windows explorer) and index
it in lucene.
I would also be happy if I could get an id of the email that I can use
afterwards to access it through a dedicated API (like moyosoft although
it is commercial).

Any help would be appreciated
Thank you in advance

I would start with taking a look at all of the available flavors of
this same data, and finding one that fits your requirements best.

Hope this is of help.

www.jdbcpersistence.org Fast ORM solution
 
R

rdeman

tr.getTransferDataFlavors() returns me a list of 27 flavors:
flavor=java.awt.datatransfer.DataFlavor[mimetype=application/x-java-serialized-object;representationclass=java.lang.String]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.Reader]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.lang.String]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.CharBuffer]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[C]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-8]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-8]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-8]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16BE]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16BE]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16LE]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16LE]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=unicode]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=Cp1252]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=Cp1252]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=Cp1252]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=ISO-8859-1]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=ISO-8859-1]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=US-ASCII]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=US-ASCII]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=US-ASCII]

tr.getTransferData(flavor) for each of them always contain the same
information : the displayed fields of the email
I don't know how to manage flavors "representationclass=[C]"
"representationclass=[B;..."
 
A

alexr

My guess is that B
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-8]
stands for BODY
Cheers,
tr.getTransferDataFlavors() returns me a list of 27 flavors:
flavor=java.awt.datatransfer.DataFlavor[mimetype=application/x-java-serialized-object;representationclass=java.lang.String]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.Reader]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.lang.String]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.CharBuffer]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[C]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-8]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-8]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-8]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16BE]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16BE]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16LE]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16LE]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=unicode]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=Cp1252]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=Cp1252]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=Cp1252]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=ISO-8859-1]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=ISO-8859-1]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=US-ASCII]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=US-ASCII]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=US-ASCII]

tr.getTransferData(flavor) for each of them always contain the same
information : the displayed fields of the email
I don't know how to manage flavors "representationclass=[C]"
"representationclass=[B;..."

I would start with taking a look at all of the available flavors of
this same data, and finding one that fits your requirements best.

Hope this is of help.

www.jdbcpersistence.org Fast ORM solution
 
R

rdeman

alexr said:
My guess is that B
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-8]
stands for BODY
Cheers,
tr.getTransferDataFlavors() returns me a list of 27 flavors:
flavor=java.awt.datatransfer.DataFlavor[mimetype=application/x-java-serialized-object;representationclass=java.lang.String]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.Reader]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.lang.String]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.CharBuffer]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[C]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-8]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-8]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-8]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16BE]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16BE]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16LE]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16LE]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=unicode]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=Cp1252]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=Cp1252]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=Cp1252]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=ISO-8859-1]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=ISO-8859-1]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=US-ASCII]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=US-ASCII]
flavor=java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=US-ASCII]

tr.getTransferData(flavor) for each of them always contain the same
information : the displayed fields of the email
I don't know how to manage flavors "representationclass=[C]"
"representationclass=[B;..."

(e-mail address removed) wrote:
Hello all,

I would like to manage the drag & drop of an email from outlook to a
Swing application.

I have tryed the following code:
Transferable tr = dropTargetDropEvent.getTransferable();
if (tr.isDataFlavorSupported(DataFlavor.stringFlavor)) {
dropTargetDropEvent.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
String string = (String)
tr.getTransferData(DataFlavor.stringFlavor);

But this only gives me the displayed fields of the email in outlook
(from, to, subject and size) but not the body.

What I would like to do is to write an msg file on the file system
(exactly as when you drop the mail into the windows explorer) and index
it in lucene.
I would also be happy if I could get an id of the email that I can use
afterwards to access it through a dedicated API (like moyosoft although
it is commercial).

Any help would be appreciated
Thank you in advance

I would start with taking a look at all of the available flavors of
this same data, and finding one that fits your requirements best.

Hope this is of help.

www.jdbcpersistence.org Fast ORM solution

in fact, [C stands for char[] and [B for byte[]. But they still only
contain the message fields, but not the body.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,766
Messages
2,569,569
Members
45,043
Latest member
CannalabsCBDReview

Latest Threads

Top