O que pode estar me causando esse erro? ja adicionei os jar email.jar, smtp.jar e activation.jar na minha aplicacao…
errorjava.net.SocketException: Connection reset
Email.java
public void sendEmail() {
String from = "teste@teste.com.br";
String to = "teste@teste.com";
try {
SmtpClient client = new SmtpClient("smtp.pop.com.br");
client.from(from);
client.to(to);
PrintStream msg = client.startMessage();
msg.println("to:" + to);
msg.println("Subject:Sending e-mail from Zamples");
msg.print("\r\n");
msg.println("This email was sent from a JSP built by Zamples.");
msg.println("See [url]http://zamples.com[/url] for more information.");
client.closeServer();
} catch (IOException e) {
System.out.println("error" + e);
}
}
public static void main(String args[]){
new Email().sendEmail();
}
brother…
Não faltou a parte da autenticação?
t+
Veja esse link que tem um exemplo.
E no caso de fazer um indique este site…onde vou ter q por o email do remetente e o do destinatario, e o assunto e a mensagem? como fazer?
package mail;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class Mail {
/**
* <U>Usuário e Senha</U> determinados em sua instanciação.
*/
private Authenticator auth;
public void sendMail(){
try {
Session sess= Session.getDefaultInstance( System.getProperties(), auth ) ;
Message e_mail= new MimeMessage( sess );
e_mail.setFrom( new InternetAddress( "xyz@remetente.br", "remetente" ) );
e_mail.setRecipient( Message.RecipientType.TO, new InternetAddress( "xyz@destinatario.br" ) );
e_mail.setSubject( "Assunto..." );
e_mail.setText( "Msg..." );
Transport.send( e_mail );
System.out.println( "E-mail enviado com sucesso!" );
} catch ( Exception ex ) {
ex.printStackTrace();
}
System.out.println( "...fim" );
}
public Mail(){
System.setProperty( "mail.smtp.host", "servidor smtp" );
System.setProperty( "mail.smtp.port", "n° porta" ); //Default 25
System.setProperty( "mail.smtp.auth", "true" );
auth= new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication( "usuario", "senha" );
}
};
sendMail();
}
public static void main(String[] args) {
new Mail();
}
}
Opa, fiz esse exemplo seu ai e alterei os dados para:
package com;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class Email {
/**
* Usuário e Senha determinados em sua instanciação.
*/
private Authenticator auth;
public void sendMail() {
try {
Session sess = Session.getDefaultInstance(System.getProperties(),auth);
Message e_mail = new MimeMessage(sess);
e_mail.setFrom(new InternetAddress("emailde@teste.com.br","remetente"));
e_mail.setRecipient(Message.RecipientType.TO, new InternetAddress("emaildestinatario@teste.com"));
e_mail.setSubject("Teste e-mail com Java");
e_mail.setText("Msg.....");
Transport.send(e_mail);
System.out.println("E-mail enviado com sucesso!");
} catch (Exception ex) {
ex.printStackTrace();
}
System.out.println("...fim");
}
public Email() {
System.setProperty("mail.smtp.host", "smtp.gmail.com");
System.setProperty("mail.smtp.port", "465"); // Default 25
System.setProperty("mail.smtp.auth", "true");
auth = new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("meuemail@gmail.com", "minhasenha");
}
};
sendMail();
}
public static void main(String[] args) {
new Email();
}
}
E qndo compilo no eclipse, ai executo, n aparece erro nenhum, e tbem n envia, fica akela abinha do console em branco…o q será?
Colega, esse código está correto… O possível erro pode estar no usuário gmail… Não se usa o "@gmail.com" somente o nome da conta de email.
No caso aí é só “meuemail”
PasswordAuthentication( "meuemail@gmail.com", “minhasenha”);