2013-02-13 3 views
0

반복되는 질문에 대해 죄송합니다.알 수없는 SMTP 호스트 : smtp.live.com

하지만 난이 오류가 난 메일을 보내는있을 때

듣고 내 샘플 코드입니다 (핫메일을 사용하여) ... 오는 방식을 이해하고 있지 않다 ..

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> 
    <property name="host" value="smtp.live.com" /> 
    <property name="port" value="587" /> 
    <property name="username" value="[email protected]" /> 
    <property name="password" value="**********" /> 

    <property name="javaMailProperties"> 
     <props> 
      <prop key="mail.smtp.auth">true</prop> 
      <prop key="mail.smtp.starttls.enable">true</prop> 
     </props> 
    </property> 
</bean> 

그러나 나는이 예외를 가지고 ..

org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.MessagingException: Unknown SMTP host: smtp.live.com; 
    nested exception is: 
    java.net.UnknownHostException: smtp.live.com. Failed messages: javax.mail.MessagingException: Unknown SMTP host: smtp.live.com; 
    nested exception is: 
    java.net.UnknownHostException: smtp.live.com; message exception details (1) are: 
Failed message 1: 
javax.mail.MessagingException: Unknown SMTP host: smtp.live.com; 
    nested exception is: 
    java.net.UnknownHostException: smtp.live.com 
    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1280) 
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:370) 
    at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 
    at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:689) 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) 
    at org.springframework.flex.core.MessageInterceptionAdvice.invoke(MessageInterceptionAdvice.java:66) 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) 
    at org.springframework.aop.framework.adapter.ThrowsAdviceInterceptor.invoke(ThrowsAdviceInterceptor.java:124) 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) 
    at org.springframework.aop.framework.Cglib2AopProxy$FixedChainStaticTargetInterceptor.intercept(Cglib2AopProxy.java:573) 
    at flex.messaging.endpoints.AMFEndpoint$$EnhancerByCGLIB$$ace25600.serviceMessage(<generated>) 
    at flex.messaging.endpoints.amf.MessageBrokerFilter.invoke(MessageBrokerFilter.java:103) 
    at flex.messaging.endpoints.AMFEndpoint$$EnhancerByCGLIB$$ace25600.service(<generated>) 
    at org.springframework.flex.servlet.MessageBrokerHandlerAdapter.handle(MessageBrokerHandlerAdapter.java:109) 
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923) 
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852) 
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) 
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:662) 
Caused by: java.net.UnknownHostException: smtp.live.com 
+0

JavaMail 문제가 아니라 올바른 SMTP 도메인 이름을 알아 내기위한 질문 시작의 게으름. –

답변

1

smtp.live.com은 오래된 것 같습니다. live.com의 MX 레코드는 mx1.hotmail.com에서 mx4.hotmail.com을 가리 킵니다. 그 중 하나를 시도하십시오.

2

조금 이상합니다. 예외는 smtp.live.com에 대한 DNS 조회에 실패했음을 나타냅니다.

$ nslookup smtp.live.com 
Server:  10.0.0.138 
Address: 10.0.0.138#53 

Non-authoritative answer: 
smtp.live.com canonical name = smtp.hot.glbdns.microsoft.com. 
Name: smtp.hot.glbdns.microsoft.com 
Address: 65.55.162.200 

그래서 나도 임시/로컬 DNS 장애를 가지고, 또는 무언가가 사용자의 DNS CONFIGS 잘못된 것으로 의심 : 나는에 대한 조회를했을 때 그러나 "smtp.live.com"나는 이것을 얻었다. 또한 DNS 항목이 취소되는 중일 수 있습니다 ... 그리고 업스트림 DNS 캐시가 내 앞에서 만료되었습니다.

DNS 조회를 직접 시도하고보고 내용을 알려주십시오. 그리고 실패하면 "live.com"/ hotmail/그 자체가 무엇이든간에 최신 SMTP 호스트를 찾으십시오.

0

smtp.live.com이 작동합니다. 대개 직접 인터넷 액세스를 막는 회사 방화벽 뒤에 있기 때문에 이름을 찾을 수 없습니다. JavaMail FAQ는 tips for debugging connection problems입니다.

관련 문제