Use String message = request.getParameter("message");
on the servlet to extract each input field value, the following snippet will do the rest:
import java.io.IOException;
import java.util.Properties;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.mail.*;
import javax.mail.internet.*;
public class ContactServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{
String email = request.getParameter("email");
String subject = request.getParameter("subject");
String message = request.getParameter("message");
if(!message.equals(null)){
Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);
try {
Message m = new MimeMessage(session);
m.setFrom(new InternetAddress(email, "user"));
m.addRecipient(Message.RecipientType.TO, new InternetAddress("dest@example.com", "me"));
m.setSubject(subject);
m.setText(message);
Transport.send(m);
} catch (AddressException e) {
e.printStackTrace();
} catch (javax.mail.MessagingException e) {
e.printStackTrace();
}
RequestDispatcher view = request.getRequestDispatcher("success.jsp");
view.forward(request, response);
}
}
}