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

[SOLUCIONADO] Duda JavaEmail

Estas en el tema de Duda JavaEmail en el foro de Java en Foros del Web. Buenas tardes. Tengo una duda muy sencilla respecto a lo que es Javaemail. Estoy creando un proyecto en Netbeans 7.3. Como se hace casi siempre, ...
  #1 (permalink)  
Antiguo 30/09/2013, 10:11
 
Fecha de Ingreso: abril-2013
Mensajes: 9
Antigüedad: 11 años
Puntos: 0
Duda JavaEmail

Buenas tardes.
Tengo una duda muy sencilla respecto a lo que es Javaemail. Estoy creando un proyecto en Netbeans 7.3. Como se hace casi siempre, cree mi proyecto (Aplicación para escritorio) y fui programando. Ahora intento crear un método el cual envié correos cuando presione un botón. Por lo que he visto, el código funciona bien, no da errores, solo... no hace nada a pesar de que el código aparentemente esta correcto.

Mi duda es, para usar JavaEmail, ¿es necesario que la aplicación de escritorio tenga un servidor añadido como lo es Tomcat o Jboss, por ejemplo? Ya que mi aplicación no le he añadido dichos servidores, por que desconozco, siéndole sinceros, si funcionara y también, tampoco sé hacerlo. He visto códigos de java email en distintas webs y en todas dicen que funcionan, salvo a mi, pero en ningún lado he leído que dichos servidores deban ser añadidos, por lo mismo mi duda.

Les dejo el código, quizás no este del todo correcto. Ojalá me puedan ayudar, les agradecería muchísimo.

Código PHP:
package CapaGui;

import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;


public class 
Mail {
    
   private final 
Properties properties = new Properties();
    private 
Session session;
    private 
void init() {
        
properties.put("mail.smtp.host""smtp.gmail.com");
        
properties.put("mail.smtp.starttls.enable""true");
        
properties.put("mail.smtp.port"587);
        
properties.put("mail.smtp.mail.sender""email gmail");
        
properties.put("mail.smtp.password""clave");
        
properties.put("mail.smtp.user""email gmail");
        
properties.put("mail.smtp.auth""true");
        
session Session.getDefaultInstance(properties);
    }
    public 
void send(String destino,String asuntoString mensaje) {
        
init();
        try {
            
MimeMessage message = new MimeMessage(session);
            
message.setFrom(new InternetAddress((String) properties.get("mail.smtp.mail.sender")));
            
message.addRecipient(Message.RecipientType.TO, new InternetAddress(destino));
            
message.setSubject(asunto);
            
message.setText(mensaje);
            
Transport t session.getTransport("smtp");
            
t.connect((String) properties.get("mail.smtp.user"), (String) properties.get("mail.smtp.password"));
            
t.sendMessage(messagemessage.getAllRecipients());
            
t.close();
        } catch (
MessagingException e) {
            return;
        }
    } 
Para ejecutar esta instrucción, solo instancio en otra clase, que a través del botón llama al metodo y envía la información

Código PHP:
Mail mail = new Mail();
mail.send("[email protected]","Esto es una prueba","Este correo fue enviado usando JavaMail"); 
PD: Naturalmente, tengo la librería correspondiente añadida a mi proyecto.
  #2 (permalink)  
Antiguo 30/09/2013, 14:24
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Duda JavaEmail

Hola:

"el código funciona bien, no da errores, solo... no hace nada". ¿Estás seguro? En el catch has puesto un return a secas, si da error no lo vas a ver.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 01/10/2013, 06:22
 
Fecha de Ingreso: abril-2013
Mensajes: 9
Antigüedad: 11 años
Puntos: 0
Respuesta: Duda JavaEmail

Cita:
Iniciado por chuidiang Ver Mensaje
Hola:

"el código funciona bien, no da errores, solo... no hace nada". ¿Estás seguro? En el catch has puesto un return a secas, si da error no lo vas a ver.

Se bueno.
Tiene razón estimado, no me había fijado del return. Aún así, lo saque y sigue dando el mismo resultado, presionando el botón que llama a la función, como que "trabaja" unos segundos quedándose se pegado el programa, pero pasado esos segundos, queda tal cual, no manda ningún email ni da error alguno sin el return en caso de haberlo.

¿Sabrá quizás por donde más podría ir el problema?
  #4 (permalink)  
Antiguo 02/10/2013, 13:31
Avatar de jomaruro
Colaborador
 
Fecha de Ingreso: junio-2002
Ubicación: Naboo
Mensajes: 5.442
Antigüedad: 21 años, 9 meses
Puntos: 361
Respuesta: Duda JavaEmail

Hola:

Cita:
Iniciado por Suicide2013 Ver Mensaje
Tiene razón estimado, no me había fijado del return. Aún así, lo saque y sigue dando el mismo resultado, presionando el botón que llama a la función, como que "trabaja" unos segundos quedándose se pegado el programa, pero pasado esos segundos, queda tal cual, no manda ningún email ni da error alguno sin el return en caso de haberlo.

¿Sabrá quizás por donde más podría ir el problema?
Has quitado el return pero... ¿Qué has puesto en su lugar?

Saludos.

  #5 (permalink)  
Antiguo 07/10/2013, 12:13
 
Fecha de Ingreso: abril-2013
Mensajes: 9
Antigüedad: 11 años
Puntos: 0
Respuesta: Duda JavaEmail

Cita:
Iniciado por jomaruro Ver Mensaje
Hola:



Has quitado el return pero... ¿Qué has puesto en su lugar?

Saludos.

Al final intente de muchas formas y no me funciono nunca, así que probé otro código y si funciona jaja lo dejo acá por si a alguien le interesa. Desde ya muchas gracias, se le agradece la disposición =)

Código PHP:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package CapaGui;

import com.falabellapro.email.EnviarEmail;
import com.falabellapro.email.util.TipoContenido;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.commons.mail.EmailException;


public class 
EnviarEmailTest {
    
    public static 
void main (String a[]) {
        
enviarEmail();
    }
                  
    private static 
void enviarEmail()
    {
        
EnviarEmail mail = new EnviarEmail("<email>", <puerto>);
        try {
            
mail.addPara("A quien le voy a enviar el email");
            
//mail.addCopiaOculta("Copia oculta del email);
            
mail.setAsunto("Asunto de correo"); 
            
mail.setDesde("Correo Destinatario","Asunto");
                  
            
mail.setMensaje("Cuerpo del Email"TipoContenido.HTML);
                  
            
mail.enviarEmail();
            } catch (
EmailException ex) {
                
Logger.getLogger(EnviarEmailTest.class.getName()).log(Level.SEVEREnullex);
            }
       
        
    }
             
    

Aunque para que funcionara este email, ocupe algunas librerías. Saludos y gracias!

Etiquetas: clase, metodo, netbeans, programa, string
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 03:35.