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

enviar EMAIL desde JAVA

Estas en el tema de enviar EMAIL desde JAVA en el foro de Java en Foros del Web. wenaz compaz, una consultica como puedo enviar un email desde mi aplicacion, alguien conoce un buen tuto de eso? lo que necesito es para mandar ...
  #1 (permalink)  
Antiguo 23/12/2008, 10:27
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
enviar EMAIL desde JAVA

wenaz compaz,

una consultica como puedo enviar un email desde mi aplicacion, alguien conoce un buen tuto de eso?

lo que necesito es para mandar con archivos adjuntos y con texto a la direccion que ponga en un textbox

alguna ayuda?
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #2 (permalink)  
Antiguo 23/12/2008, 11:54
Avatar de DiabloGuardian  
Fecha de Ingreso: noviembre-2008
Ubicación: Hidalgo
Mensajes: 215
Antigüedad: 15 años, 5 meses
Puntos: 3
Respuesta: enviar EMAIL desde JAVA

checa esto en lo que lo que encuentro otro ajemplo ke tengo xq aki guardo un registro de los enviados en una bd o si quieres mandame un mail y te paso todos los ejemplos ke tengo...

saludos

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="http://localhost/pruebaMail/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 23/12/2008, 12:10
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: enviar EMAIL desde JAVA

ahhh ta weno men pero necesito es java no jsp xD

gracias de todas formas lo usare en un proyecto que tengo de jsp.
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #4 (permalink)  
Antiguo 23/12/2008, 19:00
Avatar de DiabloGuardian  
Fecha de Ingreso: noviembre-2008
Ubicación: Hidalgo
Mensajes: 215
Antigüedad: 15 años, 5 meses
Puntos: 3
Respuesta: enviar EMAIL desde JAVA

pero pues es lo mismo, pero en verdad si kieres el de java deja lo busco,pero mandame un mail para ver si lo kieres.

se me olvido decirte que vas a necesitar un par de jars el javamail y el activation si los kieres te los paso te dejo otra vez mi correo [email protected]

saludotes!!! ahh y feliz navidad!!! jejeje
  #5 (permalink)  
Antiguo 24/12/2008, 09:01
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: enviar EMAIL desde JAVA

jajaja men te aconcejo que no des tu mail por aca por q puede ser victima de algo, otra cosa no solo a mi me puede interesar esa informacion, porque no lo compartes aca para que todo el que la vea se informe?
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #6 (permalink)  
Antiguo 26/12/2008, 03:06
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: enviar EMAIL desde JAVA

Hola:

Aquí tienes un pequeño tutorial de cómo empezar con javamail.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #7 (permalink)  
Antiguo 26/12/2008, 08:08
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: enviar EMAIL desde JAVA

men lo hago igualito como vos lo tenes solo con los datos de mi correo pero me saca este error

javax.mail.MessagingException: Unknown SMTP host: smtp.gmail.com;
nested exception is:
java.net.UnknownHostException: smtp.gmail.com
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #8 (permalink)  
Antiguo 27/12/2008, 02:37
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: enviar EMAIL desde JAVA

Si no encuentra ese host, tiene más pinta de problema de configuración de tu red que del programa.

Verifica que no tienes acceso a internet, que no tienes un cortafuegos que corte la comunicación con el puerto 587 (que es el de smtp.gmail.com) y que desde una ventana de comandos el comando

ping smtp.gmail.com

saca algo como esto

C:\Documents and Settings\usuario>ping smtp.gmail.com

Haciendo ping a gmail-smtp-msa.l.google.com [64.233.183.111] con 32 bytes de dat
os:

Respuesta desde 64.233.183.111: bytes=32 tiempo=62ms TTL=240
Respuesta desde 64.233.183.111: bytes=32 tiempo=59ms TTL=240
Respuesta desde 64.233.183.111: bytes=32 tiempo=60ms TTL=240
Respuesta desde 64.233.183.111: bytes=32 tiempo=60ms TTL=240

Estadísticas de ping para 64.233.183.111:
Paquetes: enviados = 4, recibidos = 4, perdidos = 0
(0% perdidos),
Tiempos aproximados de ida y vuelta en milisegundos:
Mínimo = 59ms, Máximo = 62ms, Media = 60ms

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #9 (permalink)  
Antiguo 27/12/2008, 06:43
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: enviar EMAIL desde JAVA

ahhh creo entonces que es porq me bloqiaron el gmail en mi pc. en la empresa ponen mucho problema, oie y como se configura ese smtp para que ande bien la aplicacion, sabes como se configura en ubuntu?
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #10 (permalink)  
Antiguo 27/12/2008, 08:49
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: enviar EMAIL desde JAVA

Hola:

Si no tienes problemas de bloqueo, no hay que configurar nada, sólo sigue el ejemplo. Si tienes problema de bloqueo, tendrás que hablar con los administradores de tu empresa para que te desbloqueen.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #11 (permalink)  
Antiguo 02/01/2009, 13:31
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: enviar EMAIL desde JAVA

hola chuidiang muchas gracias me ha sido de gran beneficio. peeeeeeeeeero que pasa si tengo q adjuntar mas archivos?
mi pregunta es si al definir un
bodypart archivo
yle asigno una ruta, como hago para adjuntar el otro?
si le defino ese mismo se sobreescribe y no se como hacer q las variables tomen otro nombre xD
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #12 (permalink)  
Antiguo 06/10/2010, 19:23
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 1
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: enviar EMAIL desde JAVA

Cita:
Iniciado por DiabloGuardian Ver Mensaje
checa esto en lo que lo que encuentro otro ajemplo ke tengo xq aki guardo un registro de los enviados en una bd o si quieres mandame un mail y te paso todos los ejemplos ke tengo...

saludos
Copie tu codigo y me tira error en la linea:

<%! InternetAddress[] toAddress;%>

deberia terner algun JAR verdad?

Si no es mucha molestia me podrias mandar mas info a [email protected]

Gracias!!!!!

Irene.
  #13 (permalink)  
Antiguo 02/11/2010, 18:18
 
Fecha de Ingreso: junio-2008
Mensajes: 34
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: enviar EMAIL desde JAVA

Esta tarde me puse y al final lo saqué, os dejo el link con el paquete compilado en .jar para que lo ejecuteis y tambien os dejo el codigo en un archivo de tecto.

Yo trabajo con linux, alomejor si abrís el archivo de texto en windows no se ve bien.

http://www.gigasize.com/get.php?d=mtb8o8zf2xc
Un saludo.
  #14 (permalink)  
Antiguo 12/04/2013, 08:49
 
Fecha de Ingreso: abril-2013
Mensajes: 1
Antigüedad: 11 años
Puntos: 0
Respuesta: enviar EMAIL desde JAVA

Hola.

Tengo un problema nose si sera de la libreria javamail... pero cuando trato de enviar un correo me saco excepciones y me marca esta linea de codigo:

Transport t = session.getTransport("smtp");
t.connect("[email protected]", "contraseñaDelcorreo");

Alguien me podria decir q puede ser??

Muchas gracias.
  #15 (permalink)  
Antiguo 14/04/2013, 18:01
 
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 185
Antigüedad: 12 años, 8 meses
Puntos: 29
Respuesta: enviar EMAIL desde JAVA

Qué excepción?
__________________
www.sttorybox.com , el lugar de las historias :)
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 17:26.