SendMailServlet example & server setup ?
I tried this example :
// import the JavaMail packages
import javax.mail.*;
import javax.mail.internet.*;
// import the servlet packages
import javax.servlet.*;
import javax.servlet.http.*;
// import misc classes that we need
import java.util.*;
import java.io.*;
public class SendMailServlet extends HttpServlet {
String smtpServer;
public void init(ServletConfig config) throws ServletException
{
super.init(config);
// get the SMTP server from the servlet properties
smtpServer = config.getInitParameter("smtpServer");
}
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
// get the message parameters from the HTML page
String from = req.getParameter("from");
String to = req.getParameter("to");
String subject = req.getParameter("subject");
String text = req.getParameter("text");
PrintWriter out = res.getWriter();
res.setContentType("text/html");
try {
// set the SMTP host property value
Properties properties = System.getProperties();
properties.put("smtp.mail.yahoo.com", smtpServer);
// create a JavaMail session
Session session = Session.getInstance(properties, null);
// create a new MIME message
MimeMessage message = new MimeMessage(session);
// set the from address
Address fromAddress = new InternetAddress(from);
message.setFrom(fromAddress);
// set the to address
if (to != null) {
Address[] toAddress = InternetAddress.parse(to);
message.setRecipients(Message.RecipientType.TO, toAddress);
}
else
throw new MessagingException("No \"To\" address specified");
// set the subject
message.setSubject(subject);
// set the message body
message.setText(text);
// send the message
Transport.send(message);
out.println("Message sent successfully.");
}
catch (AddressException e) {
out.println("Invalid e-mail address.<br>" + e.getMessage());
}
catch (SendFailedException e) {
out.println("Send failed.<br>" + e.getMessage());
}
catch (MessagingException e) {
out.println("Unexpected error.<br>" + e.getMessage());
}
}
}
and got this:
type Exception report
message
description The server encountered an internal error () that prevented it
from fulfilling this request.
exception
java.lang.NullPointerException
java.util.Hashtable.put(Hashtable.java:396)
SendMailServlet.doPost(SendMailServlet.java:40)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
with : properties.put("smtp.mail.yahoo.com", smtpServer);in line
40.That is my first servlet so if you be so kind to give me a detailed
answer.