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
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);
}
}