Hi,
I Need to put content of a message into a String in order to call some functions depending on the content.
Notice that I use it in SilverStream 3.5.1
Here is my code:
private void handle_Button1_pageActionPerformed(ActionEvent evt) throws Exception
{
// where IP,USERNAME and PASSWORD are my values
String host = IP;
String username = USERNAME;
String password = PASSWORD;
String contenuMail;
String contain;
Properties props = new Properties();
javax.mail.Session session = javax.mail.Session.getDefaultInstance(
props, null);
session.setDebug(true);
javax.mail.Store store = session.getStore("pop3");
store.connect(host, username, password);
javax.mail.Folder folder = store.getFolder("INBOX");
folder.open(javax.mail.Folder.READ_ONLY);
javax.mail.Message message[] = folder.getMessages();
for (int i=0, n=message.length; i<n; i++) {
int count = folder.getMessageCount();
for (int i=8; i<=count;i++)
{
System.out.println("333333333333333333333333333333333333333333333333333333333333");
Message msg = folder.getMessage(i);
String type = msg.getContentType();
System.out.println("type ("+i+") = "+type);
contain = msg.getContent().toString();
System.out.println("4444444444444444444444444444444444444444444444444444444");
System.out.println(contain);
System.out.println("55555555555555555555555555555555555555555555555555555555555");
folder.close(false);
store.close();
******************************************
I send this mail via unix:
mail onc_pem_
new-incident-request
alert-id:6969XA2
team:WEB
requestor:u929362
host:qdcz201
datetime: Sep 13 2001 1:33:33:333PM
description: test dev_8511 with ..
end-of-message
.
and I get this info in my console:
DEBUG: getProvider() returning javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsy stems, Inc]
1111111111111111111111111111111111111111111111111111111111111111
POP3: connecting to host "10.3.100.5", port 110
S: +OK Qpopper (version 4.0.1) at qdcz201 starting.
C: USER onc_pem_
S: +OK Password required for onc_pem_.
C: PASS tse03#Tqap
S: +OK onc_pem_ has 8 visible messages (0 hidden) in 4394 octets.
2222222222222222222222222222222222222222222222222222222222222222
C: STAT
S: +OK 8 4394
333333333333333333333333333333333333333333333333333333333333
C: TOP 8 0
S: +OK Message follows
Received: (from u929362@localhost)
by qdcz201.mobile.belgacom.be (8.9.3+Sun/8.9.1) id NAA24879
for onc_pem_; Fri, 14 Sep 2001 13:13:55 +0200 (MET DST)
Date: Fri, 14 Sep 2001 13:13:55 +0200 (MET DST)
From: Pierre Gillet () <u929362>
Message-Id: <200109141113.NAA24879@qdcz201.mobile.belgacom.be>
Message-Type: text/plain
Content-Type: text
X-UIDL: @7%"!\^h"!b;~!!UWX!!
Status: RO
type (8) = text
C: RETR 8
S: +OK 573 octets
Received: (from u929362@localhost)
by qdcz201.mobile.belgacom.be (8.9.3+Sun/8.9.1) id NAA24879
for onc_pem_; Fri, 14 Sep 2001 13:13:55 +0200 (MET DST)
Date: Fri, 14 Sep 2001 13:13:55 +0200 (MET DST)
From: Pierre Gillet () <u929362>
Message-Id: <200109141113.NAA24879@qdcz201.mobile.belgacom.be>
Message-Type: text/plain
Content-Type: text
X-UIDL: @7%"!\^h"!b;~!!UWX!!
Status: RO
new-incident-request
alert-id:6969XA2
team:WEB
requestor:u929362
host:qdcz201
datetime: Sep 13 2001 1:33:33:333PM
description: test dev_8511 with ..
end-of-message
4444444444444444444444444444444444444444444444444444444
java.io.ByteArrayInputStream@6976a1
55555555555555555555555555555555555555555555555555555555555
C: QUIT
S: +OK Pop server at qdcz201 signing off.
Load MetaData for Incident/Intervention List<<<<<<<<<<<<<<<<<<<<<<<<<<<
but if I do
contenuMail = message.getContent().toString();
System.out.println(contenumail);
I get
java.io.ByteArrayInputStream@6976a1
Please, help me to get my content into a String.
PS: If i do String a = new String ((byte [])message.getContent()); //where message.getContent() is an java.language.object
I got an exception.
Thanks