Working with Attachments
Hi I m Deepak...
m doin a project on JavaMail..
m able to retrieve all the mails from the mail server..
can send mails back to different locations.but i hv a problem...
plz help me out..
m not able to retrieve the attachments from the mailserver..
can read the mails..but nt the attachments from a particular mail..
m using the following code for this..:-
<%@ page import="java.util.Properties"%>
<%@ page import="javax.mail.*" %>
<%@ page import="java.io.*" %>
<%@ page import="javax.servlet.http.HttpServletRequest" %>
<%@ page import="javax.mail.internet.*"%>
<html>
<body>
<%
String host = "164.100.144.3";
String username = "support.vsp";
String password = "wel.come";
String protocol = "imap";
Properties props = System.getProperties();
// Setup mail server
props.put("mail.smtp.host", host);
// Get session
Session mysession = Session.getInstance(props, null);
Message message = new MimeMessage(mysession);
BodyPart messageBodyPart = new MimeBodyPart();
// Create a Multipart
Multipart multipart = new MimeMultipart();
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)))
{
System.out.println("Stram values::"+part.getInputStream()+"::Disposition::"+ part.getDisposition());
if(filepath != null)
{
String filename=filepath+"/"+ part.getFileName();
System.out.println("filename path::"+filename);
File file = new File(filename);
InputStream in=part.getInputStream();
FileOutputStream fos = new FileOutputStream(file);
byte[] buf = new byte[1024];
int c=0;
while((c=in.read(buf)) != -1)
{
fos.write(buf, 0, c);
}
in.close();
fos.close();
}
//saveFile(part.getFileName(), part.getInputStream());
}
}
/*
// from saveFile()
File file = new File(filename);
for (int i=0; file.exists(); i++)
{
// file = new File(filename+i);
}
if (disposition == null) {
// Check if plain
MimeBodyPart mbp = (MimeBodyPart)part;
if (mbp.isMimeType("text/plain")) {
// Handle plain
} else {
// Special non-attachment cases here of
// image/gif, text/html,...
}
}
*/
%>
</body>
</html>
from this code m not able to read out the attachments by including the values of i in the for loop(i= the mail no havin the attachments in the mail server)
plz help me out..
where i m wrong..
after tat i hv to save the attachments in a particular folder.
i hv just removed tat saving part from the code.(in /* */)
first off all i hv to read the attachments.after tat the saving process would b done..
help...
wat should i do..where m wrong..
|