Problema com envio de E-mail Simples pelo commoEmail

1 resposta
programaçãojava
I

Bom preciso aprender a enviar email pela aplicação, mas não consegui nem enviar um email da forma que disseram ser mais simples (kkk). abaixo segue o codgo que retirei da documentação da API-CommosMail e alterei apenas os emails e senhas da autentificação, remetente, e etc… se alguem puder me ajudar. desde já agradeço

package Email;

   import org.apache.commons.mail.DefaultAuthenticator;
   import org.apache.commons.mail.Email;
   import org.apache.commons.mail.EmailException;
   import org.apache.commons.mail.SimpleEmail;

   public class EmailJava {
    	public static void main(String[] args) throws EmailException{
        EmailJava email = new EmailJava();
        email.EnviarEmail();
       }


	public EmailJava(){
		
	}
	public void EnviarEmail() throws EmailException{
	
	Email email = new SimpleEmail();
	email.setDebug(true);
	email.setHostName("smtp.googlemail.com");
	email.setSmtpPort(465);
	email.setAuthenticator(new DefaultAuthenticator("[email removido]", "Senha"));
	email.setSSLOnConnect(true);
	email.setFrom("[email removido]");
	email.setSubject("Testando CommosMail");
	email.setMsg("uma msg qualquer vai aqui");
	email.addTo("[email removido]");
	email.send();
	}
}

1 Resposta

I

O erro que da na execução é o seguinte

DEBUG: JavaMail version 1.5.6

DEBUG: successfully loaded resource: /META-INF/javamail.default.providers

DEBUG: Tables of loaded providers

DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Oracle], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Oracle], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Oracle], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Oracle], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Oracle]}

DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Oracle], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Oracle], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Oracle], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Oracle], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Oracle], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle]}

DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map

DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle]

DEBUG SMTP: need username and password for authentication

DEBUG SMTP: protocolConnect returning false, <a href="http://host=smtp.googlemail.com">host=smtp.googlemail.com</a>, user=Cliente, password=

DEBUG SMTP: useEhlo true, useAuth true

DEBUG SMTP: trying to connect to host <a href="http://smtp.googlemail.com">smtp.googlemail.com</a>, port 465, isSSL false

Exception in thread main org.apache.commons.mail.EmailException: Sending the email to the following server failed : <a href="http://smtp.googlemail.com:465">smtp.googlemail.com:465</a>

at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1421)

at org.apache.commons.mail.Email.send(Email.java:1448)

at Email.EmailJava.EnviarEmail(EmailJava.java:30)

at Email.EmailJava.main(EmailJava.java:11)

Caused by: javax.mail.MessagingException: Could not connect to SMTP host: <a href="http://smtp.googlemail.com">smtp.googlemail.com</a>, port: 465;

nested exception is:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2120)

at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:712)

at javax.mail.Service.connect(Service.java:388)

at javax.mail.Service.connect(Service.java:246)

at javax.mail.Service.connect(Service.java:195)

at javax.mail.Transport.send0(Transport.java:254)

at javax.mail.Transport.send(Transport.java:124)

at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1411)

 3 more

Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)

at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949)

at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302)

at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296)

at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1509)

at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)

at sun.security.ssl.Handshaker.processLoop(Handshaker.java:979)

at sun.security.ssl.Handshaker.process_record(Handshaker.java:914)

at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062)

at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)

at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)

at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)

at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:598)

at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:372)

at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:217)

at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2084)

 10 more

Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:387)

at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)

at sun.security.validator.Validator.validate(Validator.java:260)

at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)

at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)

at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)

at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1491)

 21 more

Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)

at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)

at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)

at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382)

 27 more
Criado 13 de janeiro de 2017
Ultima resposta 13 de jan. de 2017
Respostas 1
Participantes 1