用spring和javamail实现代理服务器发邮件时,报异常MailSendException: Mail server connection failed

org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.MessagingException: Unknown SMTP host: smtp.163.com; nested exception is: java.net.UnknownHostException: smtp.163.com
我的applicationContext-quartz.xml里边这样配置的:
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="defaultEncoding" value="${mail.encoding}" />
<property name="host" value="${mail.host}" />
<property name="username" value="${mail.username}" />
<property name="password" value="${mail.password}" />
<property name="protocol" value="${mail.protocal}" />
<property name="javaMailProperties">
<props>
<!-- 让服务器检验用户密码是否正确 -->
<prop key="mail.smtp.auth">${mail.auth}</prop>
<!-- 邮件发送延时时间-->
<prop key="mail.smtp.timeout">${mail.timeout}</prop>
<prop key="mail.debug">${mail.debug}</prop>
<prop key="mail.smtp.ssl.enable">${mail.ssl.enable}</prop>
<prop key="mail.smtp.socks.host">${mail.socks.host}</prop>
<prop key="mail.smtp.socks.port">${mail.socks.port}</prop>
<prop key="mail.smtp.socketFactory.class">${mail.socketFactory}</prop>
</props>
</property>
</bean>
下边是config.properties文件里的javamail配置参数的内容:
mail.encoding=utf-8
mail.host=smtp.163.com
[email protected]
mail.password=jbS18382
mail.protocal=smtp
mail.auth=true
mail.timeout=180000
mail.debug=true
mail.ssl.enable=true
mail.socks.host=cmproxy.gmcc.net
mail.socks.port=8081
mail.socketFactory=javax.net.ssl.SSLSocketFactory
求大神帮忙啊, 谢谢,谢谢!!! 急啊!!!
第一次写这个东西, javamail的配置参数是从网上搜的,也不知道对不对。

第1个回答  2018-03-29

javamail是不支持HTTP代理的,只支持socks代理。具体要怎么做请参阅。网页链接

第2个回答  2014-04-02
网易163好像默认不开启smtp协议,你得登录邮箱修改。新浪 腾讯等邮箱已经开启了,你不如换个邮箱试试。追问

你帮我看哈我的配置参数有没有问题? 谢谢。

本回答被提问者采纳
第3个回答  2014-04-02
都说是不知道smtp.163.com了,smtp是什么呢...话说没见过这个东西,这是干嘛用的,从程序代登邮箱往邮箱发邮件么...追问

smtp.163.com是163提供的发送邮件服务器

相似回答