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

como enviar un correo con javamail en un jsp

Estas en el tema de como enviar un correo con javamail en un jsp en el foro de Java en Foros del Web. hola, necesito saber como le puedo hacer para enviar un correo a traves de un jsp, lo que necesito hacer es q cuando termine de ...
  #1 (permalink)  
Antiguo 24/02/2009, 12:56
 
Fecha de Ingreso: noviembre-2008
Mensajes: 49
Antigüedad: 15 años, 5 meses
Puntos: 4
Pregunta como enviar un correo con javamail en un jsp

hola, necesito saber como le puedo hacer para enviar un correo a traves de un jsp, lo que necesito hacer es q cuando termine de llenar los campos de un form, al momento de dar click, automaticamente se envie el correo con los datos que contiene el formulario, espero me logren ayudar, muchas gracias
  #2 (permalink)  
Antiguo 25/02/2009, 19:27
Avatar de DiabloGuardian  
Fecha de Ingreso: noviembre-2008
Ubicación: Hidalgo
Mensajes: 215
Antigüedad: 15 años, 5 meses
Puntos: 3
Respuesta: como enviar un correo con javamail en un jsp

haber si te sirve esto

Cita:
<%@ page import = "java.sql.*" %>
<%@ page import = "java.util.Properties" %>
<%@ page import = "javax.mail.*" %>
<%@ page import = "javax.mail.internet.*" %>
<%@ page import = "javax.activation.*" %>
<html>
<head>
<title>
Envio de Correos
</title>
<script type="text/javascript" src="../js/comandos.js"></script>
</head>
<body>

<%! String email,pass,asunto,mensaje,archivo,to[];%>
<%! int usuario,nosent=0,destino,i=0;%>
<%! InternetAddress[] toAddress;%>
<%
String url="jdbc:postgresql:emails";
String login="postgres";
String pwd="postgres";

Connection con;
PreparedStatement st;
Statement consulta,dept;

try{
Class.forName("org.postgresql.Driver");
}catch(Exception ex){
out.println("<H3>Error ejecutando registro de Driver...</H3>"+ex.toString());
}
try{
con=DriverManager.getConnection(url, login, pwd);

consulta=con.createStatement();
dept=con.createStatement();

usuario=Integer.parseInt(request.getParameter("usu ario"));
email=request.getParameter("email");
pass=request.getParameter("pass");
destino=Integer.parseInt(request.getParameter("to" ));
asunto=request.getParameter("subject");
mensaje=request.getParameter("message");
archivo=request.getParameter("path");


ResultSet rs = consulta.executeQuery("select estado from emails where usuario='"+usuario+"'");
while(rs.next()){
if(rs.getInt(1)==0)
nosent++;
}
consulta.close();


//<!--aki enviamos el message->
ResultSet rs3 = dept.executeQuery("select count(*) from usuario where cve_depto='"+destino+"'");
while(rs3.next()){
toAddress = new InternetAddress[rs3.getInt(1)];
}

ResultSet rs2 = dept.executeQuery("select mail from usuario where cve_depto='"+destino+"'");

while(rs2.next()){
toAddress[i] = new InternetAddress(rs2.getString(1));
i++;
// out.println(rs2.getString(1));
}

// out.println("toAddress.length: "+toAddress.length);
dept.close();

Properties props=new Properties();
props.setProperty("mail.smtp.host","127.0.0.1");
props.setProperty("mail.smtp.starttls.enable","tru e");
props.setProperty("mail.smtp.port","25");
props.setProperty("mail.smtp.user",email);
props.setProperty("mail.smtp.auth","true");

Session sesion=Session.getDefaultInstance(props);

MimeMessage message=new MimeMessage(sesion);

message.setFrom(new InternetAddress(email));
message.setRecipients(Message.RecipientType.TO, toAddress);
message.setSubject(asunto);
// message.setText(mensaje);

BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setText(mensaje);
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
messageBodyPart = new MimeBodyPart();
DataSource source = new FileDataSource(archivo);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(archivo);
multipart.addBodyPart(messageBodyPart);
message.setContent(multipart);

try{
Transport.send(message);
}
catch(SendFailedException sfe)
{
message.setRecipients(Message.RecipientType.TO, sfe.getValidUnsentAddresses());
Transport.send(message);

}
// out.println("codigo hasta antes de prepare");

for(int i=0;i<toAddress.length;i++){
try{
st = con.prepareStatement("Select guardado2_email(?,?,?,?,?)");
st.setInt(1, usuario);
st.setString(2, toAddress[i].toString());
st.setString(3, asunto);
st.setString(4, mensaje);
st.setInt(5,1);

// out.println("codigo hasta antes de ejecutar");
int rowsInserted = st.executeUpdate();
out.println(rowsInserted + " rows inserted");
st.close();
}catch(Exception ex){}
}
con.close();
}catch(Exception e){out.println(e.toString());}
out.println("<h1>Tu mensaje ha sido enviado</h1>");
out.println("<h3>Tienes "+nosent+" mensajes pendientes</h3>");
%>
<form action="" method="post" name="form1" class="form" id="form1">
<input name="usuario" type="hidden" value="<%= usuario %>"/>
<input name="email" type="hidden" value="<%= email %>"/>
<input name="pass" type="hidden" value="<%= pass %>"/>
<input name="otro_mensaje" type="button" class="enviar" value="Otro Mensaje" onClick="llama('2')" />
<input name="todos" type="button" class="enviar" value="Enviar todos" onClick="llama('5')" />
<input name="salir" type="button" class="enviar" value="Salir" onClick="llama('1')" />
</form>
</body>
</html>
  #3 (permalink)  
Antiguo 22/03/2009, 21:15
 
Fecha de Ingreso: noviembre-2008
Mensajes: 49
Antigüedad: 15 años, 5 meses
Puntos: 4
Respuesta: como enviar un correo con javamail en un jsp

tu respuesta es muy agradable pero lo q yo quiero es q se mande el correo sin necesidad de pedir un nombre de usuario y contraseña
  #4 (permalink)  
Antiguo 23/03/2009, 08:22
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 15 años, 11 meses
Puntos: 5
Respuesta: como enviar un correo con javamail en un jsp

lo que puso DiabloGuardian es solo un ejemplo para que veas como funciona la parte de mandar correos, de ti depende darle una leida y usar lo que te sirva para tu caso en particular, no esperes que te hagan el codigo a tu medida, Saludos
  #5 (permalink)  
Antiguo 08/05/2012, 01:29
 
Fecha de Ingreso: abril-2012
Ubicación: surquillo
Mensajes: 44
Antigüedad: 12 años
Puntos: 0
Respuesta: como enviar un correo con javamail en un jsp

Interesante tu codigo bro pero podrias dar la bd con la tabla y el procedimiento almacenado xfa
  #6 (permalink)  
Antiguo 22/01/2015, 17:19
Avatar de violeta2206  
Fecha de Ingreso: enero-2015
Mensajes: 1
Antigüedad: 9 años, 3 meses
Puntos: 0
Busqueda Respuesta: como enviar un correo con javamail en un jsp

hola, alguien podria ayudarme es que yo tengo que enviar por correo desde java pero con un dato adjunto por ejemplo un pdf, ya lei que con el javamail, pero tambien necesito que sea con alguna otra cuenta de correo electrónico no precisamente outlook, mi proyecto esta en eclipse, no soy muy buena para la programación, espero y me puedan ayudar de antemano muchas gracias
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 14:02.