내 수업 중 하나에 대한 최종 프로젝트를 진행하고 있으며이 프로그램은 전자 메일 주소로 코드를 전송하기위한 것입니다. 나는 대부분의 코드가 어떻게 동작 하는지를 알고 암호 인증을 이해하는 데 문제가 있으며 SMTP 서버에 연결하고 특정 포트를 사용하는 방법을 알고있다. 이 코드의 문제점은 실행될 때 전자 메일을 보내지 않고 오류 메시지를 표시하지 않는다는 것입니다. 어떤 도움이라도 대단히 감사 할 것입니다. 여기에 코드가 있습니다.Java 전자 메일 프로그램이 전자 메일을 보내지 않음
package application;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class SendEmail {
public static void main (String [] args) {
String host="smtp.gmail.com";
final String user="[email protected]";
final String password="password";
String to="targetemail.com";
//imported code
Properties props = new Properties();
props.put("mail.smtp.socketfactory.port", "465");
props.put("mail.smtp.port", "465");
props.put("mail.smtp.host",host);
props.put("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(user,password);
}
});
//imported code
try {
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(user));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject("Dwight from the future");
message.setText("At 8:00, someone poisons the coffee. Do NOT drink
it.");
Transport.send(message);
System.out.println("message sent!");
}
catch (MessagingException mex)
{
System.out.println("Error: unable to send message....");
mex.printStackTrace();
}
}
}
은 HTTPS를 확인하십시오 : 보안이 여기에 SSL 프로토콜 –
를 사용하여 거의 모든 SMTP 서버가 http://javabycode.com/spring-framework-tutorial/spring-boot-tutorial/spring 전체 작업 예입니다 .. 때문에 -boot-freemarker-email-template.html –
@VedPrakash 그는 포트 465, 즉 smtps를 사용하고 있습니다. – Robert