내 전자 메일 주소에서 전자 메일 주소로 전자 메일을 보내도록 Java 프로그램을 작성하려고하지만 코드를 실행할 때이 javax.mail.SendFailedException이 발생합니다. 내 코드에는 Main.java와 EmailManagement.java의 두 클래스가 있습니다. 내가 잡하고 오류는 다음과 같습니다javax.mail.SendFailedException 내 Java 코드를 통해 전자 메일을 보내려고 할 때 위에서 언급 한 expcetion을받는 이유는 무엇입니까?
javax.mail.SendFailedException: Sending failed;
nested exception is:
javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
nested exception is:
java.net.ConnectException: Connection refused: connect
at javax.mail.Transport.send0(Transport.java:219)
at javax.mail.Transport.send(Transport.java:81)
at EmailManagement.sendEmailToOnePlayer(EmailManagement.java:43)
at Main.main(Main.java:14)
코드는 다음과 같습니다.
import javax.swing.JOptionPane; 포트 :
public class Main {
public static void main(String[] args) {
EmailManagement objEmail = new EmailManagement();
String senderEmailId = JOptionPane.showInputDialog("ENter sender email id");
String recieverEmailId = JOptionPane.showInputDialog("Enter reciever Email id");
String subjectOfEmail = JOptionPane.showInputDialog("Enter email subject");
String textOfEmail = JOptionPane.showInputDialog("Enter text Of mail");
objEmail.sendEmailToOnePlayer(senderEmailId, recieverEmailId, subjectOfEmail, textOfEmail);
//System.out.println(senderEmailId);
}
}
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
public class EmailManagement {
public void sendEmailToOnePlayer(String senderEmailId, String recieverEmailId , String subjectOfEmail , String textOfEmail){
//using localhost for sending email
String host ="localhost";
//to get the system properties
Properties properties = System.getProperties();
//now to setup the mail server
properties.setProperty("mail.smtp.host", host);
//now to get our default session object
Session session =Session.getDefaultInstance(properties);
//now to create default Mime message
MimeMessage message = new MimeMessage(session);
try {
//now to set the sender email address
message.setFrom(new InternetAddress(senderEmailId));
//now set reciever email address
message.addRecipient(Message.RecipientType.TO, new InternetAddress(recieverEmailId));
//set the subject of email to be sent
message.setSubject(subjectOfEmail);
//actual message text of email
message.setText(textOfEmail);
//send message to required recipient
Transport.send(message);
System.out.println("email sent successfully :) ");
} catch (AddressException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
로컬 컴퓨터에서 SMTP 서버를 실행하고 있습니까? – slipperyseal
우리에게 [MCVE] (http://stackoverflow.com/help/mcve)를 제공하고 읽을 수 있도록 질문을 교정하십시오. –
만약 내가 처음이라도 신경 쓸 필요가 없다면 SMTP 서버가 로컬 컴퓨터에서 실행되고 있는지 확인할 수 있습니까? –