2014-03-13 2 views
2
내가 특정 도메인에 매핑 내 outlook.com 계정 (을 통해 이메일을 보내도록 노력하고 있어요

, 내 이메일 ID가 될 것 outlook.com에 연결하는 동안 . 다음과 같은 예외가 점점봄 메일 오류 내가 <p>[email protected]</p> 같은 SMTP 서버

2014년 3월 14일 00 : 27 : 55314 [풀 -1- 스레드 1] ERROR org.springframework.scheduling.support.MethodInvokingRunnable -에있어서의 호출 "센드 ' 대상 클래스 [클래스 com.sixthsense.lws.scheduler.TestMailSenderJob] 실패했습니다 org.springframework.mail.M ailSendException : 실패한 메시지 : com.sun.mail.smtp.SMTPSendFailedException : 501 5.5.4 유효하지 않은 전자 메일 주소; 중첩 예외는 다음과 같습니다. com.sun.mail.smtp.SMTPSenderFailedException : 501 5.5.4 잘못된 전자 메일 주소; 메시지 예외 세부 정보 (1) : 실패 메시지 1 : com.sun.mail.smtp.SMTPSendFailedException : 501 5.5.4 잘못된 전자 메일 주소; 상자의 예외는 다음과 같습니다 com.sun.mail.smtp.SMTPSenderFailedException : 501 5.5.4 잘못된 이메일 주소

com.sun.mail.smtp.SMTPTransport.issueSendCommand (SMTPTransport.java:2108)에서 닷컴에서 org.springframework.mail.javamail.JavaMailSenderImpl에서 .sun.mail.smtp.SMTPTransport.mailFrom com.sun.mail.smtp.SMTPTransport.sendMessage (SMTPTransport.java:1117)에서 (SMTPTransport.java:1609) .doSend (JavaMailSenderImpl.java:416) at org.springframework.mail.javamail.JavaMailSenderImpl.send (JavaMailSenderImpl.java:306) atsun.reflect.NativeMethodAccessorImpl.invoke0에서org.springframework.mail.javamail.JavaMailSenderImpl.send com.sixthsense.lws.scheduler.TestMailSenderJob.sendMail (TestMailSenderJob.java:34)에서 (JavaMailSenderImpl.java:296) (java.lang.reflect.Method.invoke에서 sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) 에서 sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:57) 의 기본 방법) (방법. 자바 : 601) org.springframework.util.MethodInvoker.invoke (MethodInvoker.java:273) 에서 org.springframework.scheduling.support.MethodInvokingRunnable.run (MethodInvokingRunnable.java:65 AT),536,913,632 있는 java.util.concurrent에서 java.util.concurrent.Executors $ RunnableAdapter.call (Executors.java:471) 에서 org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run (DelegatingErrorHandlingRunnable.java:51) java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.access에서 java.util.concurrent.FutureTask.runAndReset (FutureTask.java:178) 에서 .FutureTask $ Sync.innerRunAndReset (FutureTask.java:351) $ 301 (ScheduledThreadPoolExecutor.java : 178) at java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.run (ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadP oolExecutor.runWorker (ThreadPoolExecutor.java:1110) 에 java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:603) at java.lang.Thread.run (Thread.java:722) 원인 : com.sun.mail.smtp.SMTPSenderFailedException : 501 5.5.com.sun.mail.smtp.SMTPTransport.mailFrom (SMTPTransport.java:1616) 에서 4 잘못된 이메일 주소

... 20 개

내 스프링 구성은 다음과 같습니다

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> 
     <property name="host" value="smtp-mail.outlook.com" /> 
     <property name="port" value="587" /> 
     <property name="username" value="[email protected]" /> 
     <property name="password" value="password" /> 
     <property name="javaMailProperties"> 
      <props> 
       <prop key="mail.smtp.auth">true</prop> 
       <prop key="mail.smtp.starttls.enable">true</prop> 
      </props> 
     </property> 
    </bean> 

다음 코드는 내가 오라클 공급 항아리 F를 사용하고

@Service 
public class TestMailSenderJob { 

    @Autowired 
    JavaMailSender mailSender; 

    public JavaMailSender getMailSender() { 
     return mailSender; 
    } 

    public void setMailSender(JavaMailSender mailSender) { 
     this.mailSender = mailSender; 
    } 

    @Scheduled(fixedDelay=5000) 
    public void sendMail() 
    { 
     System.out.println("############invoked sendMail"); 
     SimpleMailMessage message = new SimpleMailMessage(); 

     message.setTo("[email protected]"); 
     message.setSubject("Test mail "+new Date().toString()); 
     message.setText("test body"); 
     getMailSender().send(message); 
     System.out.println("######### email send"); 
    } 

} 

이메일을 보냅니다 또는 이메일 버전 javamail-1.4.7. 편집 : Outlook 웹 인터페이스를 통해 내 Outlook 계정 (프로그램에서 smtp 사용)에서 이메일을받을 수 있습니다.

+0

잘에서 추가 서버는 @ mailId.com'에'동의하지 않는다는 것을 의미'5.5.4 잘못된 이메일 address'로 응답. 유효한 주소를 시도 했습니까? 'mail from'[주소] (http://docs.spring.io/spring/docs/2.5.6/api/org/springframework/mail/SimpleMailMessage.html#setFrom%28java.lang.String%29) 옳은? – Cascader

답변

0

stacktrace의 여러 곳에서 "잘못된 이메일 주소"를 읽었습니다. 제발, 당신의 코드에서 확인하십시오.

또 다른 건, 안전을 위해, 메이븐 레포에서 javax.mail-1.4.7을 사용하십시오.

+0

또는 현재 버전 인 JavaMail 1.5.1 이상이 필요합니다. –

+0

@Bill : 예, 당신은 사실입니다. 나는이 버전이 Maven Repo에 최대한 빨리 나타나기를 희망합니다. – mig8

+0

이미 [Maven Central] (http://search.maven.org/remotecontent?filepath=com/sun/mail/javax.mail/1.5.1/javax.mail-1.5.1.jar) 및 [java.net maven 저장소] (https://maven.java.net/content/repositories/releases/com/sun/mail/javax.mail/1.5.1/javax.mail-1.5.1.jar). Maven 좌표는 [JavaMail java.net 프로젝트 페이지] (https://java.net/projects/javamail/pages/Home#Download_JavaMail_1.5.1_Release)에 있습니다. –