用Spring封装的javaMail做了个邮件发送程序,
发送邮件是Google的gmail,也就是说发送服务器是smtp.gmail.com
接收邮件是hotmail的
Spring的配置是:<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="protocol" value="smtp"/>
<property name="host" value="smtp.gmail.com"/>
<property name="port" value="465" />
<property name="username" value="邮箱名@gmail.com"/>
<property name="password" value="密码"/>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.starttls.enable">true</prop>
<prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop>
</props>
</property>
</bean>
现在在两个机器上测试,分别是我的本机与租用的服务器。
两个机器上都配了同样的jre1.6、javamail1.4、spring2.5、tomcat6。然而在本机上发送成功,hotmail收件箱中收到了邮件,但在租用的服务器里发送时就出现这种异常:
javax.mail.MessagingException: Unknown SMTP host: smtp.gmail.com;
Caused by: java.net.UnknownHostException: smtp.gmail.com
这是什么原因?
有没有可能是租用的服务器有防火墙拦截了?如果是这种可能性,应该如何处理?
谢谢各位!
发送邮件是Google的gmail,也就是说发送服务器是smtp.gmail.com
接收邮件是hotmail的
Spring的配置是:<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="protocol" value="smtp"/>
<property name="host" value="smtp.gmail.com"/>
<property name="port" value="465" />
<property name="username" value="邮箱名@gmail.com"/>
<property name="password" value="密码"/>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.starttls.enable">true</prop>
<prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop>
</props>
</property>
</bean>
现在在两个机器上测试,分别是我的本机与租用的服务器。
两个机器上都配了同样的jre1.6、javamail1.4、spring2.5、tomcat6。然而在本机上发送成功,hotmail收件箱中收到了邮件,但在租用的服务器里发送时就出现这种异常:
javax.mail.MessagingException: Unknown SMTP host: smtp.gmail.com;
Caused by: java.net.UnknownHostException: smtp.gmail.com
这是什么原因?
有没有可能是租用的服务器有防火墙拦截了?如果是这种可能性,应该如何处理?
谢谢各位!
我本机是采用adsl上网,却可以成功发送。
感谢chdw:
果然是租用的服务器不能访问外网所致