Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/02/2009, 19:27
Avatar de DiabloGuardian
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>