Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/09/2013, 10:11
Suicide2013
 
Fecha de Ingreso: abril-2013
Mensajes: 9
Antigüedad: 11 años, 1 mes
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.