Java 응용 프로그램을 사용하여 전자 메일을 보내려고하지만 항상 연결 오류가 발생합니다. 그래서 내 코드는 다음과 같습니다 :Java 메일에 연결 오류가 있습니다.
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
public class SendMail {
public static void main(String [] args) {
String to = "[email protected]";
String from = "[email protected]";
String host = "localhost";
Properties properties = System.getProperties();
properties.setProperty("mail.user", "fromsomeone");
properties.setProperty("mail.password", "passwordForSomeone");
properties.setProperty("mail.smtp.host", host);
Session session = Session.getDefaultInstance(properties);
try {
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject("subject typed");
message.setText("This is actual message which is just some lines");
Transport.send(message);
}catch (MessagingException mex) {
mex.printStackTrace();
}
}
}
물론 나는 (내 gmail 계정을 사용하여) 유효한 정보를 제공합니다. 그리고 이것은 내가 돌아 오는 오류입니다.
com.sun.mail.util.MailConnectException: Couldn't connect to host, port: localhost, 25; timeout -1;
nested exception is:
java.net.ConnectException: Connection refused (Connection refused)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2118)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:712)
at javax.mail.Service.connect(Service.java:366)
at javax.mail.Service.connect(Service.java:246)
at javax.mail.Service.connect(Service.java:195)
at javax.mail.Transport.send0(Transport.java:254)
at javax.mail.Transport.send(Transport.java:124)
at email.SendMail.main(SendMail.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Caused by: java.net.ConnectException: Connection refused (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:331)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:238)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2084)
... 12 more
누군가 내 도움을 줄 수 있습니까? 내 코드에 어떤 문제가 있습니까? 고맙습니다!
localhost에서 실행중인 SMTP 서버 또는 SMTP 서버가 localhost에서 연결을 수락하는지 확인하십시오. –
나는 cmd를 라인에서이를 확인하기 위해 시도했다 : 'TELNET MAIL.THEIRDOMAIN.COM 25 는 141.8.225.226을 시도 ...' 하지만 난 응답 – dmbdnr
'TELNET이 없어 : 141.8.225.226를 해결하기 위해 연결을 : 운영 시간 초과 됨 TELNET : 원격 호스트에 연결할 수 없습니다. ' – dmbdnr