Problemas para enviar email!

Galera fiz essa classe para mandar email

[code]import java.security.Security;
import java.util.Properties;
import java.util.StringTokenizer;

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;
import schweb.Email;

public class MandaEmail {

private String nomeServidor = "smtp.gmail.com";
private String porta = "465";
private String msgTxt, assunto, emailFrom;
private String ssl_factory = "javax.net.ssl.SSLSocketFactory";
private String senha;
private String destinatario;

public MandaEmail( Email email ){
    
    Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
    msgTxt = email.getMsgTexto();
    assunto = email.getMsgAssunto();
    emailFrom = email.getMsgFrom();
    destinatario = email.getRecipients();
    senha = email.getSenha();
    try{
        mandaMsgUsandoSSL(destinatario, assunto, msgTxt, emailFrom);
    }catch( javax.mail.MessagingException ex ){
        ex.printStackTrace();
    }  
    JOptionPane.showMessageDialog( null, "Solicitação Reserva enviado com sucesso !" );
}

public void mandaMsgUsandoSSL(String recipients, String assunto, String mensagem, String origem) throws MessagingException {
    boolean debug = true;
    
    Properties props = new Properties();
    props.put("mail.smtp.host", nomeServidor);
    props.put("mail.smtp.auth", "true" );
    props.put("mail.debug", "true" );
    props.put("mail.smtp.port", porta);
    props.put("mail.smtp.socketFactory.port", porta);
    props.put("mail.smtp.socketFactory.class", ssl_factory);
    props.put("mail.smtp.socketFactory.fallback", "false" );
    
    
    Session session = Session.getDefaultInstance(props,
            new javax.mail.Authenticator() {
        
        protected PasswordAuthentication getPasswordAuthentication() {
            StringTokenizer token = new StringTokenizer( emailFrom, "@" );
            return new PasswordAuthentication(token.nextToken(), senha );
        }
    });
    
    session.setDebug(debug);
    
    Message msg = new MimeMessage(session);
    InternetAddress addressFrom = new InternetAddress(origem);
    msg.setFrom(addressFrom); 
    msg.setSubject(assunto);
    msg.setContent(mensagem, "text/plain" );
    
    Transport.send(msg);
}

}[/code]

//no evento do botão

  Email email = new Email();
        email.setSenha("ddffsdfd");
        email.setMsgAssunto("Solicitação de Reserva");
        email.setMsgFrom("cristianonasciment@gmail.com");
        email.setMsgTexto("Tipo Unidade:");
        email.setRecipients("cristianonasciment@gmail.com");
        try{
            MandaEmail mandaEmail = new MandaEmail( email );
        }catch( Exception e ){
            JOptionPane.showMessageDialog(null, e.getMessage() );
        }
        return null;

erro: HTTP Status 500 The server encountered an internal error () that prevented it from fulfilling this request.

se alguem puder me dar uma luz, ficarei muitíssimo grato

Olá

Posta o stacktrace, por que só com essas informações não dá nem pra dar uma dica.

Cara sua o framework da commons, bem mais simples…
da uma olhada ai…
http://jakarta.apache.org/commons/email/

flw!!!

Cara, eu não entendo muito de e-mail com java mas gostei da dica do Alisson, vou estudar melhor esse Framework da Jakarta Commons.
Valeu Alisson.

Olá!!

Cara, eu fiz um projeto esse semestre pra faculdade, no qual eu precisei implementar um Cliente SMTP. Eu fiz algo quase parecido com o que vc fez, com a diferença que todos os dados para o envio do email estão em um arquivo txt. Eu consegui mandar vários emails inclusive com anexo, usando o mesmo o cliente de email que vc usou mas eu não usei a porta “465” e sim a “25” que é a do próprio protocolo SMTP e funcionou muito bem. Sempre que usava essa primeira não acontecia nada e o email não era enviado.

opa, vlw pelas dicas ai galera !!
vou testar a porta 25 !!!
se não der certo eu posto o stacktrace !!!
vlw ai.
se der certo, eu volto falando !!!
abraços !!