2011-09-01 2 views
0

나는 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와 같은 이메일 클라이언트에서 작동하도록 테스트 된 다른 모든 메일 정보, 사용자 이름/비밀번호, 발신자 및 수신자 이메일 주소 문자열을 보유합니다.

+0

당신이 사용하는 포트는 무엇입니까? Outlook/Thunderbird? – SLaks

답변

0

분명히, 문제는 자바 메일 API를하지,하지만 GoDaddy와 서버와이었다 (올바른 포트에 대한 GoDaddy와 설명서를 참조하십시오), 내가 상담 한 자신의 기술 지원 및 지금 잘 작동합니다.

2

HTTP 용으로 포트 80이 사용됩니다. (465) 또는

587에

변경을

+0

포트 587 시도 중, 다음과 같은 메시지가 표시됩니다. SMTP 호스트에 연결할 수 없습니다. smtpout.asia.secureserver.net, 포트 : 587, 응답 : 421 – xybrek

+0

SMTP 호스트에 연결할 수 없습니다. smtpout.asia .secureserver.net, 포트 : 465, 응답 : -1 – xybrek

+0

또한 포트 25를 사용해보십시오. – SLaks