Saltar al contenido

Debe emitir un comando STARTTLS primero

Solución:

Probablemente esté intentando utilizar los servidores de Gmail en el puerto 25 para entregar correo a un tercero a través de una conexión no autenticada. Gmail no te permite hacer esto, porque entonces cualquiera podría utilizar los servidores de Gmail para enviar correo a cualquier otra persona. Esto se llama relé abierto y fue un habilitador común de spam en los primeros días. Los relés abiertos ya no son aceptables en Internet.

Deberá pedirle a su cliente SMTP que se conecte a Gmail mediante una conexión autenticada, probablemente en el puerto 587.

El puerto smtp y socketFactory deben cambiarse

    String to = "[email protected]";
    String subject = "subject"
    String msg ="email text...."
    final String from ="[email protected].com"
    final  String password ="senderPassword"


    Properties props = new Properties();  
    props.setProperty("mail.transport.protocol", "smtp");     
    props.setProperty("mail.host", "smtp.gmail.com");  
    props.put("mail.smtp.auth", "true");  
    props.put("mail.smtp.port", "465");  
    props.put("mail.debug", "true");  
    props.put("mail.smtp.socketFactory.port", "465");  
    props.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");  
    props.put("mail.smtp.socketFactory.fallback", "false");  
    Session session = Session.getDefaultInstance(props,  
    new javax.mail.Authenticator() {
       protected PasswordAuthentication getPasswordAuthentication() {  
       return new PasswordAuthentication(from,password);  
   }  
   });  

   //session.setDebug(true);  
   Transport transport = session.getTransport();  
   InternetAddress addressFrom = new InternetAddress(from);  

   MimeMessage message = new MimeMessage(session);  
   message.setSender(addressFrom);  
   message.setSubject(subject);  
   message.setContent(msg, "text/plain");  
   message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));  

   transport.connect();  
   Transport.send(message);  
   transport.close();
   }  

espero que funcione para usted ..

Añadiendo

props.put("mail.smtp.starttls.enable", "true");

resolvió mi problema;)

Mi problema era :

com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.0 Primero debe emitir un comando STARTTLS. u186sm7971862pfu.82 – gsmtp

at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2108)
at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1609)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1117)
at javax.mail.Transport.send0(Transport.java:195)
at javax.mail.Transport.send(Transport.java:124)
at com.example.sendmail.SendEmailExample2.main(SendEmailExample2.java:53)
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *