Jump to content

Bruno Evaristo

Membros
  • Contagem de Conteúdo

    1
  • Ingressou

  • Última visita

Clientes & Parceiros

  • Você é um cliente TecnoSpeed?
    Não
  • Você é um parceiro da Casa do Desenvolvedor?
    Não

Conquistas de Bruno Evaristo

0

Reputação na Comunidade

  1. Olá, estou usando o Eclipse, projeto Java, e enfrentando problemas de conexão com o gmail, alguém saberia dizer o que é? já pesquisei bastante na encontrei. Usando: J2SE 1.5, javaSE 1.6, Javax.mail 1.6 e activation. Já testei as portas 587 e 465. Abaixo o código, os "*******" são as informações sensíveis do código, e abaixo o erro retornado na execução; package mmn; import javax.mail.*; import javax.mail.internet.*; import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class Gmailresponder { public static void main(String[] args) { String host = "*******"; String username = "*******"; String password = "*******"; Properties props = new Properties(); props.put("mail.store.protocol", "imaps"); try { Session session = Session.getInstance(props, null); Store store = session.getStore(); store.connect(host, username, password); Folder inbox = store.getFolder("inbox"); inbox.open(Folder.READ_ONLY); Message[] messages = inbox.getMessages(); for (Message message : messages) { String subject = message.getSubject(); String sender = message.getFrom()[0].toString(); if (is*******Email(subject)) { enviarResposta*******(sender); } else { enviarRespostaOutroEmail(sender); } } inbox.close(false); store.close(); } catch (Exception e) { e.printStackTrace(); } } private static boolean is*******Email(String subject) { String[] palavrasChave******* = {"*******", "*******", "*******", "*******"}; for (String palavra : palavrasChave*******) { if (subject.toLowerCase().contains(palavra)) { return true; } } return false; } private static void enviarResposta*******(String sender) { try { Properties props = new Properties(); props.put("mail.smtp.host", "smtp.gmail.com"); props.put("mail.smtp.port", "587"); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.starttls.enable", "true"); props.put("mail.smtp.ssl.protocols", "TLSv1.2"); props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); Session session = Session.getInstance(props, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("*******", "*******"); } }); Message message = new MimeMessage(session); message.setFrom(new InternetAddress("*******")); message.setRecipient(Message.RecipientType.TO, new InternetAddress(sender)); message.setSubject("Resposta automática: *******"); message.setText("*******"); Transport.send(message); System.out.println("Resposta enviada para: " + sender + " - Assunto: " + message.getSubject()); } catch (Exception e) { e.printStackTrace(); } } private static void enviarRespostaOutroEmail(String sender) { try { Properties props = new Properties(); props.put("mail.smtp.host", "smtp.gmail.com"); props.put("mail.smtp.port", "587"); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.starttls.enable", "true"); props.put("mail.smtp.ssl.protocols", "TLSv1.2"); props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); Session session = Session.getInstance(props, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("*******", "*******"); } }); Message message = new MimeMessage(session); message.setFrom(new InternetAddress("*******")); message.setRecipient(Message.RecipientType.TO, new InternetAddress(sender)); message.setSubject("Resposta automática: *******"); message.setText("*******"); Transport.send(message); System.out.println("Resposta enviada para: " + sender + " - Assunto: " + message.getSubject()); } catch (Exception e) { e.printStackTrace(); } } } Retorno: javax.mail.MessagingException: Connection reset; nested exception is: java.net.SocketException: Connection reset at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:742) at javax.mail.Service.connect(Service.java:366) at javax.mail.Service.connect(Service.java:246) at mmn.GmailResponder.main(GmailResponder.java:30) Caused by: java.net.SocketException: Connection reset at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:323) at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350) at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803) at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966) at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:484) at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:478) at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160) at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111) at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1510) at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1425) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426) at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:626) at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:400) at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:238) at com.sun.mail.iap.Protocol.<init>(Protocol.java:134) at com.sun.mail.imap.protocol.IMAPProtocol.<init>(IMAPProtocol.java:131) at com.sun.mail.imap.IMAPStore.newIMAPProtocol(IMAPStore.java:763) at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:698) ... 3 more
×
×
  • Create New...