나는 GoDaddy 전자 메일 호스트를 사용하여 메일을 보내려고합니다. Java Mail API를 사용하여 몇 일 전에 등록했지만, 구현하기가 쉽지 않습니다. 그리고 저는 받고 있습니다. 이 오류 :Javamail을 사용하여 전자 메일 보내기
Could not connect to SMTP host: smtpout.asia.secureserver.net, port: 80, response: -1
3535, 465, 587, 25 포트를 시도했지만 여전히 동일한 오류가 발생합니다.
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
MailSender.java :
public class MailSender {
private static String HOST = "smtpout.asia.secureserver.net";
private static String PORT = "80";
public static void sendMail(final Mail mail) throws MailException {
EmailValidator validtor = new EmailValidator();
if (validtor.validate(mail.getReceipient())) {
Properties props = new Properties();
props.put("mail.smtp.host", HOST);
props.put("mail.smtp.socketFactory.port", PORT);
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", PORT);
Session session = Session.getDefaultInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(mail.getUsername(),mail.getPassword());
}
});
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(mail.getSender()));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(mail.getReceipient()));
message.setSubject(mail.getSubject());
message.setText(mail.getBody());
Transport.send(message);
System.out.println("OK");
} catch (MessagingException e) {
throw new MailException(e.getMessage());
}
} else {
throw new MailException("Email address not valid.");
}
}
}
동일한 코드 아래 (I이 경우 생략 한)이 코드의 추가와 함께, Gmail을 사용하여 메일을 전송하는 작업을 테스트되었습니다 이 클래스의 Mail
매개 변수는 Outlook & Thunderbird와 같은 이메일 클라이언트에서 작동하도록 테스트 된 다른 모든 메일 정보, 사용자 이름/비밀번호, 발신자 및 수신자 이메일 주소 문자열을 보유합니다.
당신이 사용하는 포트는 무엇입니까? Outlook/Thunderbird? – SLaks