Ola pessoal,
To tentando executar um envio de e-mail via java, mas está dando o seguinte erro:
javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
nested exception is:
java.net.ConnectException: Connection refused: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1706)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:525)
at javax.mail.Service.connect(Service.java:291)
at javax.mail.Service.connect(Service.java:172)
at javax.mail.Service.connect(Service.java:121)
at javax.mail.Transport.send0(Transport.java:190)
at javax.mail.Transport.send(Transport.java:120)
at exemplo_e_mail.Main.enviar(Main.java:74)
at exemplo_e_mail.Main.enviar(Main.java:83)
at exemplo_e_mail.Main.main(Main.java:39)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:284)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:227)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1672)
... 9 more
Classe que estou usando para mandar e-mail via java
package exemplo_e_mail;
import java.net.InetAddress;
import java.net.UnknownHostException;
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;
public class Main {
private Session session;
private String maquina;
public static void main(String[] args) {
Main main = new Main();
String assunto = "Assunto: teste";
String eMail = "[email removido]";
String mensagem = "mensagem";
main.enviar(eMail, assunto, mensagem);
}
public void iniciarEmail() {
Properties p = new Properties();
p.put("mail.host", "smtp.teste.com.br");
if (session == null) {
session = Session.getInstance(p);
}
if (maquina == null) {
try {
maquina = InetAddress.getLocalHost().getHostName();
} catch (UnknownHostException e) {
maquina = "NÃO LOCALIZADO";
}
}
}
public boolean enviar(String de, String para, String assunto, String mensagem) {
boolean retorno = false;
Message msg = new MimeMessage(session);
try {
msg.setFrom();
if ((para == null) || (para.length() == 0)) {
para = "[email removido]";
}
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(para, false));
msg.setFrom(new InternetAddress(de));
msg.setSubject(assunto);
msg.setText(mensagem);
Transport.send(msg);
retorno = true;
} catch (Exception e) {
e.printStackTrace();
}
return retorno;
}
public boolean enviar(String para, String assunto, String mensagem) {
return enviar("[email removido]", para, assunto, mensagem);
}
}
Estou usando a lib mail.jar.
Alguem tem ideia porque ta dando esse erro, se tiver algum tutorial, me passem obrigado.
Obrigado.