SMTP f***

seguinte tenho um metodo q diz mandar email via java segue a abaixo


public void Email() {
    
    Properties p = new Properties();
 p.put("mail.host", "smtp.mail.yahoo.com.br"); 
    
 Session session = Session.getInstance(p, null);
MimeMessage msg = new MimeMessage(session); 
 
 
 try {
     // "de" e "para"!!
     msg.setFrom(new InternetAddress(from.getText()));
     msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to.getText()));
 
     // nao esqueca da data!
     // ou ira 31/12/1969 !!!
     msg.setSentDate(new Date());
 
     msg.setSubject(message.getText());
 
     msg.setText(subject.getText());
 
     // evniando mensagem (tentando)

     Transport transport = session.getTransport();   
//transport.connect(host, username, senha);    aqui a parte se presisar de autenticacao nomeu caso nao uso isso
     
     Transport.send(msg);     
     
     
     
     JOptionPane.showMessageDialog(this, "Email Send", 
                "Message", JOptionPane.INFORMATION_MESSAGE);
     
}catch (AddressException e) {
 JOptionPane.showMessageDialog(this, "Address not found", 
                "Message", JOptionPane.INFORMATION_MESSAGE);
 System.out.print(e);   
}catch (MessagingException e) {
    System.out.print(e);
    
     JOptionPane.showMessageDialog(this, "Message not found", 
                "Message", JOptionPane.INFORMATION_MESSAGE);
 } 
}     



teoricamente funciona vi aqui que funciona com locaweb mas esse smtp locaweb tem que pagar 30 por mes
ai nao rola nao JAVA é FREE  arrumei varios varios e nenhum funciona do gmail bol terra os que funciona pedem autenticacao alguem sabe ai algum que funcione sem autenticacao achei aqui o smtp.concat.net funciona mas pede autenticacao

Se for Gmail, procure neste post:

http://www.guj.com.br/posts/list/35431.java

Exemplo funcioando de envio de email usando GMail
http://www.guj.com.br/posts/list/15/104645.java#623120

Por favor, não precisa fazer drama com isso, é muito simples, eu uso uma classe para enviar email (meu sistema envia alguns relatórios, como orçamento, etc) há anos e funciona para qualquer email.
No meu caso, cada usuário conectado tem sua própria configuração de email.

import java.awt.Component;
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.net.Socket;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.PasswordAuthentication;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Store;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.swing.JOptionPane;

public class Email {

    final protected static String from = "";
    final protected static PasswordAuthentication authentication = null;
    private static Email e = null;

    public Email() {
        super();
    }

    public static Email Novo() {
        if (e == null) {
            e = new Email();
        }
        return e;
    }

    public static void setEnviarEmailComArquivo(String destinatario, String remetente, String assunto, String mensagem, String arquivo) {
        boolean autentica = false;
        String proxyHost = "";
        String proxyPorta = "0";
        String smtpHost = "0";
        String smtpPorta = "0";
        String nossoEmail = "";
        String userName = "";
        String password = "";
        if (Global.userBean.getEmail().trim().equals("") || Global.userBean.getServidorSmtp().trim().equals("") || Global.userBean.getPortaSmtp() == 0) {
            Lib.Warning(null, "Configuração de Email Incorreta", "A configuração do email para envio de documentos que está no cadastro do " +
                    "usuário " + Global.userBean.getNome() + "\n" +
                    "não está preenchida corretamente. \n\n" +
                    "O administrador do sistema precisa alterar o cadastro com\n" +
                    "os dados de configuração da conta de email.", 0);
            return;
        }
        Integer portaPop3 = Global.userBean.getPortaPop3();
        Integer portaSmtp = Global.userBean.getPortaSmtp();
        autentica = Global.userBean.isAutenticado();
        proxyHost = Global.userBean.getServidorPop3().trim();
        proxyPorta = portaPop3 == 0 ? "" : portaPop3.toString();
        smtpHost = Global.userBean.getServidorSmtp();
        smtpPorta = portaSmtp.toString();
        nossoEmail = Global.userBean.getEmail();
        userName = Global.userBean.getUsuarioEmail();
        password = Rot13.decipher(Global.userBean.getSenhaEmail());
        boolean gmail = nossoEmail.endsWith("gmail.com");

        /* Mostrar ou nao na tela de console todo o processo de envio de email */
        boolean debug = false;

        /* Cria algumas propriedades e seta a sessao default */
        Properties props = System.getProperties();
        if (!proxyHost.trim().equals("") && !proxyPorta.trim().equals("")) {
            props.put("http.proxyHost", proxyHost);
            props.put("http.proxyPort", proxyPorta); /* Porta SOCKS 1080, HTTP 8080 */
        }
        props.put("mail.smtp.starttls.enable", "true");
        //props.put("mail.debug", "true");
        //props.put("mail.smtp.debug", "true");
        props.put("mail.mime.charset", "ISO-8859-1");
        props.put("mail.smtp.host", smtpHost); /* alterado do param: host para ... */
        props.put("mail.smtp.port", smtpPorta); /* conecta na porta 26 do proxy configurada para UOL SMTP */

        if (gmail) {
            props.put("mail.smtp.port", "465");
            props.put("mail.smtp.starttls.enable", "true");
            props.put("mail.smtp.socketFactory.port", "465");
            props.put("mail.smtp.socketFactory.fallback", "false");
            props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        }

        javax.mail.Authenticator auth = null;
        if (autentica) {
            System.out.println("== AUTENTICANDO ENVIO DE EMAIL ==");
            System.out.println("   Servidor SMTP: " + smtpHost);
            System.out.println("   Usuario:       " + userName);
            System.out.println("   Senha:         " + password);
            props.put("mail.smtp.auth", "true");
            auth = new SMTPAuthenticator(userName, password);
            System.out.println("   Autenticado:   " + auth.toString());
        }

        Session sessionMessage = Session.getInstance(props, auth);
        sessionMessage.setDebug(debug);
        try {
            // Define message
            MimeMessage message = new MimeMessage(sessionMessage);
            message.setFrom(new InternetAddress(nossoEmail, remetente));
            message.addRecipient(Message.RecipientType.TO, new InternetAddress(destinatario));
            message.setSubject(assunto);

            // create the message part
            MimeBodyPart messageBodyPart = new MimeBodyPart();

            //fill message
            messageBodyPart.setContent(mensagem, "text/html");

            Multipart multiPart = new MimeMultipart();

            multiPart.addBodyPart(messageBodyPart);

            if (arquivo != null) {
                System.out.println("Enviando Email com Arquivo Anexado: " + arquivo);
                // Part two is attachment
                messageBodyPart = new MimeBodyPart();
                DataSource source = new FileDataSource(arquivo);
                messageBodyPart.setDataHandler(new DataHandler(source));
                messageBodyPart.setFileName(arquivo);
                multiPart.addBodyPart(messageBodyPart);
            }
            // Put parts in message
            message.setContent(multiPart);

            // Send the message
            Transport.send(message);
        } catch (MessagingException ex) {
            ex.printStackTrace();
            return;
        } catch (UnsupportedEncodingException ex) {
            ex.printStackTrace();
            return;
        }

    }
}

Para enviar:

Email.setEnviarEmailComArquivo("email-destino@gmail.com", "QUEM ESTÁ ENVIANDO", "ASSUNTO TESTE", "<html>MENSAGEM TESTE</html>", null);

Espero que isso ajude a resolver sua dúvida de uma vez por toda.

achei aqui do gabriel PERFEITOOOOOOOOO valeu ai cara e obrigado pela ajuda de todos

import java.util.Properties;   
import javax.mail.Message;   
import javax.mail.Session;   
import javax.mail.Transport;   
import javax.mail.internet.InternetAddress;   
import javax.mail.internet.MimeMessage;   
import javax.mail.Authenticator;   
import javax.mail.PasswordAuthentication;   
import javax.swing.JOptionPane;

public class Email extends javax.swing.JDialog {
       
    private String mailSMTPServer;   
    private String mailSMTPServerPort;   
       

    public Email(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
       
    }

  Email() { //Para o GMAIL   
        mailSMTPServer = "smtp.gmail.com";   
        mailSMTPServerPort = "465";   
    }   
  
   Email(String mailSMTPServer, String mailSMTPServerPort) { 
        this.mailSMTPServer = mailSMTPServer;   
        this.mailSMTPServerPort = mailSMTPServerPort;   
    }   
  
       public void Email(String from, String to, String subject, String message) {              
        Properties props = new Properties();   
  
                // quem estiver utilizando um SERVIDOR PROXY descomente essa parte e atribua as propriedades do SERVIDOR PROXY utilizado   
             
        props.put("mail.transport.protocol", "smtp");   
        props.put("mail.smtp.starttls.enable","true");   
        props.put("mail.smtp.host", mailSMTPServer); 
        props.put("mail.smtp.auth", "true"); 
        props.put("mail.smtp.user", from); 
        props.put("mail.debug", "true");   
        props.put("mail.smtp.port", mailSMTPServerPort); 
        props.put("mail.smtp.socketFactory.port", mailSMTPServerPort); 
        props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");   
        props.put("mail.smtp.socketFactory.fallback", "false");   
          
        SimpleAuth auth = null;   
        auth = new SimpleAuth ("usuario login","senha login");   
           
        Session session = Session.getDefaultInstance(props, auth);   
        session.setDebug(true); 
  
        Message msg = new MimeMessage(session);   
  
        try {   
            //Setando o destinatário   
            msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));   
            msg.setFrom(new InternetAddress(from));   
            msg.setSubject(subject);   
            msg.setContent(message,"text/plain");   
  
        } catch (Exception e) {   
            System.out.println(">> Erro: Completar Mensagem");   
            e.printStackTrace();   
        }  
      
        Transport tr;   
        try {   
            tr = session.getTransport("smtp");  

            tr.connect(mailSMTPServer, "usuario login", "senha login");   
            msg.saveChanges(); 
            tr.sendMessage(msg, msg.getAllRecipients());   
            tr.close();   
        } catch (Exception e) {   
            JOptionPane.showMessageDialog(this, "Erro ao enviar Email", "ERRO", JOptionPane.ERROR_MESSAGE);    
            System.out.println(">> Erro: Envio Mensagem");   
            e.printStackTrace();   
        }   
  
       
       }         

class SimpleAuth extends Authenticator {   
    public String username = null;   
    public String password = null;   
 
  
    public SimpleAuth(String user, String pwd) {   
        username = user;   
        password = pwd;   
    }   
  
    protected PasswordAuthentication getPasswordAuthentication() {   
        return new PasswordAuthentication (username,password);   
    }
           
 }