Enviar un email desde una pagina jsp
Quisiera saber como enviar un email desde jsp, usando por ejemplo mi cuenta de gmail a otros email. Lo unico que tengo por el momento es esto pero no se como porner mi correo de gmail como el mandatario, aca te dejo mi codigo haber si me puedes ayudar gracias.
package com.proyecto.servlet;
import java.io.IOException;
import java.util.Date;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class for Servlet: EnviarCorreoServlet
*
*/
public class EnviarCorreoServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
static final long serialVersionUID = 1L;
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#HttpServlet()
*/
public EnviarCorreoServlet() {
super();
}
/* (non-Java-doc)
* @see javax. Servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
this.processRequest(request, response);
}
/* (non-Java-doc)
* @see javax. Servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
this.processRequest(request, response);
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
// Configuración de parámetros
Properties propiedades = new Properties();
propiedades.put("mail.transport.protocol", "smtp");
propiedades.put("mail.smtp.host", "192.168.16.244");
propiedades.put("mail.smtp.port", "25");
propiedades.put("mail.smtp.auth", "true");
// Autentificación y crea un mensaje nuevo
Authenticator auth = new MiAuthenticator();
Session mailSession = Session.getInstance(propiedades,auth);
Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress("[email protected]"));
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse("[email protected]"));
msg.setSentDate(new Date());
msg.setSubject("Correo del JSP de comentarios - Beker");
// El contenido del correo
String nombre = request.getParameter("nombre");
String comentarios = request.getParameter("comentarios");
msg.setText("Ha escrito el Sr./Sra. " + nombre + ", y dice lo siguiente: " + comentarios );
// La Clase Transport envía el correo
Transport.send(msg);
RequestDispatcher rd = request.getRequestDispatcher("mail_enviado.jsp");
rd.forward(request, response);
} catch(Exception e) {
System.err.println(e);
RequestDispatcher rd = request.getRequestDispatcher("mail_error.jsp");
rd.forward(request, response);
}
}
//clase inner o clase interna
public class MiAuthenticator extends Authenticator {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("beker","tecsup");
}
}
//si viene de dominio si acepta el correo
//pero si es con ip no acepta el correo
// Mantener los métodos doGet y doPost.
}
package com.proyecto.servlet;
import java.io.IOException;
import java.util.Date;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class for Servlet: EnviarCorreoServlet
*
*/
public class EnviarCorreoServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
static final long serialVersionUID = 1L;
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#HttpServlet()
*/
public EnviarCorreoServlet() {
super();
}
/* (non-Java-doc)
* @see javax. Servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
this.processRequest(request, response);
}
/* (non-Java-doc)
* @see javax. Servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
this.processRequest(request, response);
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
// Configuración de parámetros
Properties propiedades = new Properties();
propiedades.put("mail.transport.protocol", "smtp");
propiedades.put("mail.smtp.host", "192.168.16.244");
propiedades.put("mail.smtp.port", "25");
propiedades.put("mail.smtp.auth", "true");
// Autentificación y crea un mensaje nuevo
Authenticator auth = new MiAuthenticator();
Session mailSession = Session.getInstance(propiedades,auth);
Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress("[email protected]"));
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse("[email protected]"));
msg.setSentDate(new Date());
msg.setSubject("Correo del JSP de comentarios - Beker");
// El contenido del correo
String nombre = request.getParameter("nombre");
String comentarios = request.getParameter("comentarios");
msg.setText("Ha escrito el Sr./Sra. " + nombre + ", y dice lo siguiente: " + comentarios );
// La Clase Transport envía el correo
Transport.send(msg);
RequestDispatcher rd = request.getRequestDispatcher("mail_enviado.jsp");
rd.forward(request, response);
} catch(Exception e) {
System.err.println(e);
RequestDispatcher rd = request.getRequestDispatcher("mail_error.jsp");
rd.forward(request, response);
}
}
//clase inner o clase interna
public class MiAuthenticator extends Authenticator {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("beker","tecsup");
}
}
//si viene de dominio si acepta el correo
//pero si es con ip no acepta el correo
// Mantener los métodos doGet y doPost.
}
1 respuesta
Respuesta de aleja26
1