hello ranchers,
I am developing a client application which can send and recieve mails from ISP. The recieving part works fine .I m able to connect to the POP server and able to fetch the mail. But i could not able to send the mail. It gives teh forllowing exception:! Any thoughts about wat went wrong
Exception:---->>>>
<Oct 31, 2006 12:01:28 PM GMT+05:30> <Warning> <HTTP> <BEA-101248> <[null]: Depl
oyment descriptor "web.xml" is malformed. Check against the DTD: org.xml.sax.SAX
ParseException: cvc-elt.1: Cannot find the declaration of element 'web-app'. (line 2, column 10).>
DEBUG: not loading system providers in <java.home>/lib
DEBUG: not loading optional custom providers file: /META-INF/javamail.providers
DEBUG: successfully loaded default providers
DEBUG: Tables of loaded providers
DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPTransport=javax.ma
il.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc
], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.
IMAPStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3Store=javax.mail.Provide
r[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]}
DEBUG: Providers Listed By Protocol: {imap=javax.mail.Provider[STORE,imap,com.su
n.mail.imap.IMAPStore,Sun Microsystems, Inc], pop3=javax.mail.Provider[STORE,pop
3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc], smtp=javax.mail.Provider[T
RANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]}
DEBUG: not loading optional address map file: /META-INF/javamail.address.map
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.s
mtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG: SMTPTransport trying to connect to host "smtp.ktk.airtelbroadband.in", port 25
javax.mail.MessagingException: Could not connect to SMTP host: smtp.ktk.airtelbr
oadband.in, port: 25;
nested exception is:
java.net.SocketException: Software caused connection abort: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:867)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:15
6)
at javax.mail.Service.connect(Service.java:234)
at javax.mail.Service.connect(Service.java:135)
at mail.sendMessage(mail.java:79)
at mail.doPost(mail.java:36)
at mail.doGet(mail.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:1053)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:387)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:305)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run(WebAppServletContext.java:6310)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:3622)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:2569)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
The Code as follows--------------->>>>>>
import javax.mail.*;
import javax.mail.internet.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Properties;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.mail.Transport;
public class mail extends HttpServlet{
private final static
String DEFAULT_SERVER="smtp.ktk.airtelbroadband.in";
public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
{
String smtpServ="smtp.ktk.airtelbroadband.in";
String from= "";
String to= "";
String subject="subject1";
String emailContent="This is a
Test Email";
response.setContentType("multipart/alternative");
java.io.PrintWriter out = response.getWriter();
out.println("<html><head><title>Email MEssage sender</title></head></html>");
try{
sendMessage(smtpServ, to, from, subject, emailContent,out);}
catch(Exception e)
{
throw new ServletException(e.getMessage());
}
out.println("<h2>The Message was sent successfully</h2>");
out.println("</body></html>");
}
private void sendMessage(String smtpServ,String to,String from,String subject,String emailContent,PrintWriter out) throws Exception
{
try{
Properties properties=System.getProperties();
properties.put("mail.smtp.host",smtpServ);
properties.put("mail.smtp.auth", "true");
properties.put("mail.debug", "true");
Session session=Session.getDefaultInstance(properties);
Message mailMsg=new MimeMessage(session);
Multipart mp = new MimeMultipart();
BodyPart b1 = new MimeBodyPart();
b1.setContent("hi","text/plain");
mp.addBodyPart(b1);
mailMsg.setContent(mp);
mailMsg.saveChanges();
Transport bus = session.getTransport("smtp");
bus.connect("smtp.ktk.airtelbroadband.in","yyyy","zzz");
out.println("connected");
bus.send(mailMsg);
out.println("Message sent");
}
catch(MessagingException ex)
{
ex.printStackTrace();
}
}
public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
{
doPost(request,response);
}
}
Thanks...
TUHIN