Foros del Web » Programación para mayores de 30 ;) » Java »

Mandar mail desde Java

Estas en el tema de Mandar mail desde Java en el foro de Java en Foros del Web. Hola. Estoy realizando mi proyecto fin de carrera y me gustaria saber de la dificultad de mandar un mail desde Java y como podría hacerlo. ...
  #1 (permalink)  
Antiguo 28/11/2008, 11:29
 
Fecha de Ingreso: febrero-2008
Mensajes: 7
Antigüedad: 16 años, 2 meses
Puntos: 0
Mandar mail desde Java

Hola.

Estoy realizando mi proyecto fin de carrera y me gustaria saber de la dificultad de mandar un mail desde Java y como podría hacerlo. Estoy realizando el proyecto bajo la plataforma JEE.

Muchas gracias a todos
  #2 (permalink)  
Antiguo 28/11/2008, 12:59
Avatar de ko^ke  
Fecha de Ingreso: septiembre-2001
Ubicación: México D.F.
Mensajes: 364
Antigüedad: 22 años, 7 meses
Puntos: 1
Respuesta: Mandar mail desde Java

El que busca encuentra mi estimado:

http://www.forosdelweb.com/f45/como-...vamail-234491/
__________________
Aquí va la firma...
  #3 (permalink)  
Antiguo 28/11/2008, 21:18
 
Fecha de Ingreso: noviembre-2002
Ubicación: DF
Mensajes: 1.056
Antigüedad: 21 años, 5 meses
Puntos: 37
Respuesta: Mandar mail desde Java

Tomado de:
http://www.chuidiang.com/java/herram...r-javamail.php
http://www.javacommerce.com/displayp...l.sql&id=18274

Yo use esto:
// Para email
import java.util.Properties;

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

/**
* @version 1.0
* ===============================================
* @author Juan Arturo Gomez Perez [email protected]
* programa: ContactoServlet.java
* funcion: Reciba datos de formulario y envia un email al administrador del sitio
* Fecha: Octubre 2008
* ===============================================
*/
public class ContactoServlet extends HttpServlet implements Servlet {

/**
* @see javax.servlet.http.HttpServlet#void (javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
performTask(req, resp);
}

/**
* @see javax.servlet.http.HttpServlet#void (javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
performTask(req, resp);
}
public void performTask(HttpServletRequest req, HttpServletResponse resp){
System.out.println("------------------");
System.out.println("ContactoServlet.java");
System.out.println("------------------");

String SMTP_HOST_NAME ="";
int SMTP_PORT =0; //;587;// "25
String SMTP_AUTH_USER = "";
String SMTP_AUTH_PWD = "";
String MAIL_CONTACTO= "";

boolean error = false;
String errorMessage = "";
try{
// Recuperamos datos de mailserver
//--------------
// A) Seccion de apertura de base de datos MySql (unico registro)
//--------------
Database database= new Database();
Connection con = DriverManager.getConnection(database.getUrl(),data base.getUsuario(), database.getPassword());

Statement stmt = con.createStatement();
String strSql = "SELECT * FROM administracion ";
System.out.println(strSql);
//stmt.executeUpdate(strSql);
ResultSet rs = stmt.executeQuery(strSql);
if (rs.next() ) {
SMTP_HOST_NAME = rs.getString("SMTP_HOST_NAME").trim();
SMTP_PORT = Integer.parseInt(rs.getString("SMTP_PORT").trim()) ;
SMTP_AUTH_USER = rs.getString("SMTP_AUTH_USER").trim();
SMTP_AUTH_PWD = rs.getString("SMTP_AUTH_PWD").trim();
MAIL_CONTACTO = rs.getString("MAIL_CONTACTO").trim();
}

}catch(Exception e){
System.out.println("Error al recuperar datos de mailserver "+e.getMessage());
error = true;
errorMessage = "Error al recuperar datos de mailserver "+e.getMessage();
}
if (!error){

//--------------------
// Valida la sesion
//--------------------
//Si el usuario no se ha logeado apropiadamente, se redirige a login
javax.servlet.http.HttpSession session = req.getSession(true);
SessionBean sessionBean = (SessionBean) session.getAttribute("sessionBean");
if (sessionBean == null) {
// El bean ya no existe.. por ello podemos redireccionar directo
//req.sendRedirect("Login.jsp");
try{
resp.sendRedirect(getInitParameter("nosession_page ")+"?errorMessage=Sesion ha caducado");
} catch (IOException ex) {
System.out.println("Error en Redirect");
ex.printStackTrace();
}
}else{
String empleado= sessionBean.getEmpleado();
String nombre = req.getParameter("nombre");
String emailFrom = req.getParameter("email");
String comentarios = req.getParameter("comentarios");

System.out.println("nombre="+nombre);
System.out.println("email="+emailFrom);
System.out.println("mensaje="+comentarios);
String emailTo = MAIL_CONTACTO;
String mailSubject = "Solicitud de contacto desde Consulta de Ahorros y Prestamos";

String mailBody = "<table>";
mailBody = mailBody + "<tr>";
mailBody = mailBody + "<td colspan=2>Se recibió una solicitud de contacto desde la Consulta de Ahorros y Prestamos:</td>";
mailBody = mailBody + "</tr>";

mailBody = mailBody + "<tr>";
mailBody = mailBody + "<td>Nombre:</td><td><b>" + nombre + "</b></td>";
mailBody = mailBody + "</tr>";
mailBody = mailBody + "<tr>";
mailBody = mailBody + "<td>Email:</td><td><b>" + emailFrom + "</b></td>";
mailBody = mailBody + "</tr>";
mailBody = mailBody + "<tr>";
mailBody = mailBody + "<td>Duda o comentarios:</td><td>" + comentarios + "</td>";
mailBody = mailBody + "</tr>";

mailBody = mailBody + "</table>";
String respuesta = "";
boolean debug = false;

try{

Properties props = new Properties();

//Nombre del host de correo, es smtp.gmail.com
props.put("mail.smtp.host", SMTP_HOST_NAME);

//TLS si está disponible
props.setProperty("mail.smtp.starttls.enable", "true");

//Puerto de gmail para envio de correos
//props.setProperty("mail.smtp.port","587");
props.setProperty("mail.smtp.socketFactory.port", "587");

//Nombre del usuario
props.setProperty("mail.smtp.user", SMTP_AUTH_USER);

//Si requiere o no usuario y password para conectarse.
props.setProperty("mail.smtp.auth", "true");
Session sessionX = Session.getDefaultInstance(props, null);

//---------------------
// Poner en falso para NO imprimir el DEBUG del objeto MAIL
//---------------------
sessionX.setDebug(true);
MimeMessage message = new MimeMessage(sessionX);
//Quien envia el correo
message.setFrom(new InternetAddress(emailFrom));

//A quien va dirigido
message.addRecipient(Message.RecipientType.TO, new InternetAddress(emailTo));

message.setSubject(mailSubject);
message.setContent(mailBody, "text/html");

Transport t = sessionX.getTransport("smtp");

//t.connect();
//transport.connect( sendHost, sendPort, sendLoginID, sendPassword );

t.connect( SMTP_HOST_NAME,SMTP_PORT,SMTP_AUTH_USER,SMTP_AUTH_ PWD);
t.sendMessage(message,message.getAllRecipients());

t.close();


}catch(Exception e){
System.out.println("error al enviar el email="+e.getMessage());
respuesta = "Ocurrio un error al enviar el correo.. intente mas tarde.";
errorMessage = e.getMessage();
}

//http://www.chuidiang.com/java/herramientas/javamail/empezar-javamail.php
//http://www.javacommerce.com/displaypage.jsp?name=javamail.sql&id=18274

try {
//------------------
// Se preparan variables de aviso y confirmacion a JSP
//------------------
if (respuesta.equals("")){
respuesta="Su email ha sido enviado al administrador... gracias por contactarnos. En caso necesario un operador se pondrá en contacto con usted.";
}
req.setAttribute("respuesta", respuesta);
System.out.println("redirect hacia Contacto.jsp");
//------------------
// Se remite respuesta al navegador
//------------------
req.getRequestDispatcher("/Contacto.jsp?errorMessage="+errorMessage).forward( req, resp);

} catch(Exception ioe) {
System.out.println("Error: " + ioe);
errorMessage = "Error: "+ioe.getMessage();
}
}// de sesion nula

}// de error = false

//System.out.println("SI!!");
try{
req.getRequestDispatcher("/Login.jsp?errorMessage="+errorMessage).forward(req , resp);
}catch(Exception e){

}
}
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:25.