Boa tarde colegas !
Depois de várias consultas e dicas dos colegas cheguei ao seguinte código:
/*
* SendMail.java
*
* Created on 14 de Agosto de 2007, 10:04
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package com.atm.util;
import java.util.Properties;
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;
import javax.swing.JOptionPane;
/**
*
* @author r100320
*/
public class SendMail {
private static final String SMTP_HOST_NAME = "smtp.gmail.com";
private static final String SMTP_PORT = "465";
private static final String emailMsgTxt = "Teste";
private static final String emailSubjectTxt = "Testando o Gemail!";
private static final String emailFromAddress = "joseedmilson@gmail.com";
private static final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
private static final String sendTo = "joseedmilson@gmail.com" ;
public void SendMessage(){
JOptionPane.showMessageDialog(null,"Iniciando envio de email");
Properties props = new Properties();
props.put ("mail.smtp.host", SMTP_HOST_NAME);
props.put("mail.smtp.auth", "true");
props.put("mail.debug", "true");
props.put("mail.smtp.port", SMTP_PORT);
props.put("mail.smtp.socketFactory.port", SMTP_PORT);
props.put("mail.smtp.socketFactory.class", SSL_FACTORY);
props.put ("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.socketFactory.fallback", "false");
Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("user", "password");
}
});
session.setDebug(true);
Message msg = new MimeMessage(session);
try {
msg.setFrom(new InternetAddress(emailFromAddress));
msg.setRecipient(Message.RecipientType.TO, new InternetAddress(sendTo));
msg.setSubject(emailSubjectTxt);
msg.setContent(emailMsgTxt, "text/plain");
Transport.send(msg);
JOptionPane.showMessageDialog(null,"Email enviado");
} catch (MessagingException e) {
System.out.println("ERRO =" + e.getMessage());
}
}
public static void main(String[] args) {
SendMail sd = new SendMail();
sd.SendMessage();
}
}
Essa classe é só para teste, por isso estou usando os parametros fixos…
Mas o que esta acontecendo é o seguinte: o e-mail esta sendo enviado, no entanto esta dando um exception e eu não sei porque, segue todas as mensagens de saida que recebo na execução:
init:
deps-jar:
compile-single:
run-single:
DEBUG: JavaMail version 1.4ea
DEBUG: java.io.FileNotFoundException: D:\Arquivos de programas\Java\jdk1.5.0_12\jre\lib\javamail.providers (O sistema não pode encontrar o arquivo especificado)
DEBUG: !anyLoaded
DEBUG: not loading resource: /META-INF/javamail.providers
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,Sun
Microsystems, Inc], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems,
Inc], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider
[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc],
com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider
[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc],
com.sun.mail.imap.IMAPStore=javax.mail.Provider
[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc],
com.sun.mail.pop3.POP3Store=javax.mail.Provider
[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]}
DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider
[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc],
imap=javax.mail.Provider
[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc],
smtps=javax.mail.Provider
[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun
Microsystems, Inc], pop3=javax.mail.Provider
[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc],
pop3s=javax.mail.Provider
[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc],
smtp=javax.mail.Provider
[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems,
Inc]}
DEBUG: successfully loaded resource: /META-
INF/javamail.default.address.map
DEBUG: !anyLoaded
DEBUG: not loading resource: /META-INF/javamail.address.map
DEBUG: java.io.FileNotFoundException: D:\Arquivos de
programas\Java\jdk1.5.0_12\jre\lib\javamail.address.map (O sistema
não pode encontrar o arquivo especificado)
DEBUG: setDebug: JavaMail version 1.4ea
DEBUG: getProvider() returning javax.mail.Provider
[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems,
Inc]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "smtp.gmail.com", port 465, isSSL false
220 mx.google.com ESMTP q15sm4318253qbq
DEBUG SMTP: connected to host "smtp.gmail.com", port: 465
EHLO wsabril042867
250-mx.google.com at your service, [200.205.95.10]
250-SIZE 28311552
250-8BITMIME
250-AUTH LOGIN PLAIN
250 ENHANCEDSTATUSCODES
DEBUG SMTP: Found extension "SIZE", arg "28311552"
DEBUG SMTP: Found extension "8BITMIME", arg ""
DEBUG SMTP: Found extension "AUTH", arg "LOGIN PLAIN"
DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg ""
DEBUG SMTP: Attempt to authenticate
AUTH LOGIN
334 VXNlcm5hbWU6
am9zZWVkbWlsc29u
334 UGFzc3dvcmQ6
YXBtMjk3
235 2.7.0 Accepted
DEBUG SMTP: use8bit false
MAIL FROM:<joseedmilson@gmail.com>
250 2.1.0 OK
RCPT TO:<joseedmilson@gmail.com>
250 2.1.5 OK
DEBUG SMTP: Verified Addresses
DEBUG SMTP: joseedmilson@gmail.com
DATA
354 Go ahead
From: joseedmilson@gmail.com
To: joseedmilson@gmail.com
Message-ID: <25516789.01187191884922.JavaMail.r100320@wsabril042867>
Subject: Testando o Gemail!
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Teste
.
250 2.0.0 OK 1187192078 q15sm4318253qbq
QUIT
DEBUG SMTP: exception reading response: javax.net.ssl.SSLException:
Unsupported record version Unknown-50.49
ERRO =Exception reading response
EXECUTADO COM SUCESSO (tempo total: 13 segundos)
Conforme disse, o e-mail é enviado com sucesso, mas não aparece na tela a mensagem “Email enviado”, que deveria ser gerada pela linha:
[code
JOptionPane.showMessageDialog(null,“Email enviado”);
[/code]
Se alguém puder me ajudar ficarei muito agradecido.
Abraços a todos !