I try a code using JavaMail and servlet to send an e-mail. The java code can be 
complied. But it can not run . The error message:
javax.mail.NoSuchProviderException: No provider for Address typy: rfc822
      at javax.mail.Session.getTransport<Session.java:516>
      at javax.mail.Transport.send0<Transport.java:155>
      at javax,mail.Transport.send<Transport.java:81>
      at MailServlet.doPost<MailServlet.java:68>
      ...

Source code:

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;

public class MailServlet extends HttpServlet {

    public void init(ServletConfig config) throws ServletException {
        super.init(config);
    }

    public void doGet(HttpServletRequest request,
        HttpServletResponse response)
        throws ServletException, IOException {

        doPost(request, response);
    }

    public void doPost(HttpServletRequest request,
        HttpServletResponse response)
        throws ServletException, IOException {


        String host = "homewent";
        String to = request.getParameter("to");
        String from = request.getParameter("from");
        String subject = request.getParameter("subject");
        String messageText = request.getParameter("body");
        boolean sessionDebug = false;

        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

        out.println("<html>");
        out.println("<head><title>MailServlet</title></head>");

        Properties props = System.getProperties();
        props.put("mail.host", host);
        props.put("mail.transport.protocol", "smtp");

        Session mailSession = Session.getDefaultInstance(props, null);


        mailSession.setDebug(sessionDebug);


        Message msg = new MimeMessage(mailSession);

        try {

            msg.setFrom(new InternetAddress(from));
            InternetAddress[] address = {new InternetAddress(to)};
            msg.setRecipients(Message.RecipientType.TO, address);
            msg.setSubject(subject);
            msg.setSentDate(new Date());
            msg.setText(messageText);


            Transport.send(msg);

            out.println("<body>");

            out.println("Mail was sent to " + to);
            out.println(" from " + from);
            out.println(" using host " + host + ".");

            out.println("</body></html>");
        }
        catch (MessagingException mex) {

            mex.printStackTrace();
        }
        finally {

            out.close();
        }
    }
}

host = "homewent" is the domain name of SMTP server.
Is there any mistake. Please comments!

Regards & Thanks

___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".

Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html

Reply via email to