2012-09-11 21 views
5

Quiero enviar un correo electrónico en mi programa java a través del servidor smtp de google, pero parece estar atascado en el envío del correo. ¿Puede alguien decirme por qué los pls?java mail gmail

Ésta es la función para enviar el correo:

 public void sendMail(){ 
      String from = "[email protected]"; 
    String to = "[email protected]"; 
    String subject = "Test"; 
    String message = "A test message"; 

    SendMail sendMail = new SendMail(from, to, subject, message); 
    sendMail.send(); 
} 

Y esta es la clase

public class SendMail { 
private String from; 
private String to; 
private String subject; 
private String text; 

public SendMail(String from, String to, String subject, String text){ 
    this.from = from; 
    this.to = to; 
    this.subject = subject; 
    this.text = text; 
} 

public void send(){ 

    Properties props = new Properties(); 
    props.put("mail.smtp.host", "smtp.gmail.com"); 
    props.put("mail.smtp.auth", "true"); 
    props.setProperty("mail.smtp.port", "587"); 
    props.put("mail.smtp.starttls.enable", "true"); 
    Session session = Session.getDefaultInstance(props); 

    new javax.mail.Authenticator() { 
    protected PasswordAuthentication getPasswordAuthentication() { 
    return new PasswordAuthentication(from, "MyPasswordGoesHere"); 
    } 
     }; 

    try { 
    MimeMessage message = new MimeMessage(session); 
    message.setFrom(new InternetAddress(from)); 
    message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); 
    message.setSubject(subject); 
    message.setText(text); 

    Transport.send(message); 
    System.out.println("message sent successfully"); 
    } catch (MessagingException e) { 
    throw new RuntimeException(e); 
    } 
     } 
     } 

Gracias de antemano!

+0

¿Presenta algún error o simplemente termina sin quejarse? Configure la depuración en SMTP para ver lo que hace el cliente. – Alfabravo

+0

verifique esto, podría ayudarlo ... http://www.javabeat.net/2007/10/sending-mail-from-java/ – NoNaMe

+0

@sf shah lo usé como ejemplo y no tiene fin simplemente se cuelga en "Transport.send (mensaje); línea – Nick

Respuesta

0

En my blog post, me trató de ejemplificar de enviar mensajes de correo electrónico con Java sobre el servidor SMTP de Gmail. Hay 2 códigos de muestra aquí. Uno de ellos usa Java Mail API mientras que el otro explota la biblioteca de Apache Commons Mail.