sendmail.jsp
<%--
Document : sendmail
Created on : 10 Apr, 2013, 8:49:08 PM
Author : Aravind Sankaran
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<form method="post" action="/applicationcontext/MailSender">
<table>
<tr>
<td></td>
<td>gmail Id</td>
<td><input type="text" name="gmailId" style="width: 418px"></td>
<td></td>
</tr>
<tr>
<td></td>
<td>gmail Password</td>
<td>
<input type="password" name="gmailPassword" style="width: 418px"></td>
<td></td>
</tr>
<tr>
<td></td>
<td>To</td>
<td><input type="text" name="to" style="width: 418px"></td>
<td></td>
</tr>
<tr>
<td></td>
<td>Subject</td>
<td><input type="text" name="subject" style="width: 418px"></td>
<td></td>
</tr>
<tr>
<td></td>
<td>Body</td>
<td><textarea rows="3" cols="50" name="body"></textarea></td>
<td></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td align="center"><input type="submit" value="Send Mail"></td>
<td></td>
</tr>
</table>
</form>
</body>
</html>
MailSender.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package commons;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author Aravind Sankaran
*/
public class MailSender extends HttpServlet {
private static final String SMTP_HOST_NAME = "smtp.gmail.com";
private static final String SMTP_PORT = "465";
final String password="";
final String from="";
private static final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String gmailId = request.getParameter("gmailId");
String gmailPassword=request.getParameter("gmailPassword");
String toEmailAddress = request.getParameter("to");
String toEmail[]={toEmailAddress};
String emailSubject = request.getParameter("subject");
String emailBody =request.getParameter("body");
MailSender mailer=new MailSender();
try {
mailer.sendSSLMessage(toEmail, emailSubject,emailBody , gmailId, gmailPassword);
} catch (MessagingException ex) {
Logger.getLogger(MailSender.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void sendSSLMessage(String recipients[], String subject,
String message, final String from, final String password) throws MessagingException {
boolean debug = true;
Properties props = new Properties();
props.put("mail.smtp.host", SMTP_HOST_NAME);
props.put("mail.smtp.auth", "true");
props.put("mail.debug", "true");
props.put("mail.smtp.port", SMTP_PORT);
props.put("mail.smtp.socketFactory.port", SMTP_PORT);
props.put("mail.smtp.socketFactory.class", SSL_FACTORY);
props.put("mail.smtp.socketFactory.fallback", "false");
Session session = Session.getDefaultInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(from,
password);
}
});
session.setDebug(debug);
Message msg = new MimeMessage(session);
InternetAddress addressFrom = new InternetAddress(from);
msg.setFrom(addressFrom);
InternetAddress[] addressTo = new InternetAddress[recipients.length];
for (int i = 0; i < recipients.length; i++) {
addressTo[i] = new InternetAddress(recipients[i]);
}
msg.setRecipients(Message.RecipientType.TO, addressTo);
msg.setSubject(subject);
msg.setContent(message, "text/plain");
Transport.send(msg);
}
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
web.xml
<web-app>
<servlet>
<servlet-name>MailSender</servlet-name>
<servlet-class>commons.MailSender</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MailSender</servlet-name>
<url-pattern>/MailSender</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>sendmail.jsp</welcome-file>
</welcome-file-list>
</web-app>
jar file needed:
java-mail-1.4.4.jar
No comments:
Post a Comment