`
fatherican
  • 浏览: 48912 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

javaMail 邮件发送的错误总结

 
阅读更多

1.发送MIME邮件遇到的错误

JavaMail Exception: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?

2011-2-19 20:24
提问者: pplovingicer | 悬赏分:15 | 浏览次数:2441次
javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
 at com.sun.net.ssl.internal.ssl.InputRecord.handleUnknownRecord(InputRecord.java:523)
 at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:355)
 at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:789)
 at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1112)
 at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1139)
 at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1123)
 at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:503)
 at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:234)
 at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1672)
 ... 19 more

解决方法:

配置JavaMail的Properties时,不要指定“mail.smtp.socketFactory.class”,因为TLS使用的是普通的Socket。

然后指定属性“mail.smtp.starttls.enable”为“true”。

代码如下:

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.qq.com"/>
<property name="port" value="25"/>
<property name="username" value="1210845252@qq.com"/>
<property name="password" value="aa1111111"/>
<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>

2.发送纯文本邮件

Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
at javax.mail.internet.MimeUtility.<clinit>(MimeUtility.java:1161)
at javax.mail.internet.InternetAddress.setPersonal(InternetAddress.java:216)
at org.apache.commons.mail.Email.createInternetAddress(Email.java:525)
at org.apache.commons.mail.Email.addTo(Email.java:653)
at org.apache.commons.mail.Email.addTo(Email.java:636)
at com.herostart.framework.zh.mail.MailServiceImpl.sendMailBySynchronizationMode(MailServiceImpl.java:85)
at com.herostart.framework.zh.mail.MailServiceImpl.sendMail(MailServiceImpl.java:52)
at com.herostart.framework.zh.mail.MailServiceImpl.sendMail(MailServiceImpl.java:36)
at com.herostart.framework.zh.mail.MailServiceImpl.main(MailServiceImpl.java:151)

在使用javamail发送邮件的时候,出现“java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream”这样的错误,
javax.mailjavax.activation这两个包已经在javaEE5当中属于基础包了,就是MyEclipse中已经自带了。但是里面的方法与最新JDK的javamail包不一致导致的错误
解决方法:
进入MyEclipse的安装目录下(这是我机器上的MyEclipse安装目录,也许你的不同)
D:\MyEclipse6.5\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_6.5.0.zmyeclipse650200806\data\libraryset\EE_5
这个目录下,可以看到javaee.jar包,双击使用压缩软件打开把这个包文件,然后进到javax文件夹中,删除mail目录和activation目录,也可能是jar包。
删掉之后,在运行代码,就不会出现错误了,当然不要把整个javaee.jar包给删除了,他里面还有其它很多功能包,比如servlet,如果有引用 其它功能,还是会报错的.
最后添加最新的mail.jaractivation.jar就OK了
分享到:
评论

相关推荐

    解决JavaMail无法发送邮件的错误(在J2EE项目中)

    NULL 博文链接:https://satikey.iteye.com/blog/824976

    浅析JavaMail发送邮件后再通过JavaMail接收格式问题

    主要介绍了JavaMail发送邮件后再通过JavaMail接收格式问题 ,本文通过代码实例给大家详细解说,需要的朋友可以参考下

    java实现邮件发送

    1、使用此代码你可以完成你的javamail的邮件发送功能。三个类缺一不可。 2、这三个类我打包是用的com.util.mail包,如果不喜欢,你可以自己改,但三个类文件必须在同一个包中 3、不要使用你刚刚注册过的邮箱在程序...

    基于Freemarker模板技术的邮件发送模块设计

    采用javamail实现的通用邮件发送模块,邮件内容采用Freemarker技术实现,多线程实现邮件发送,观察者模式来定制邮件的错误处理,设计思路参考作者博客 http://blog.csdn.net/crazycoder2010/article/details/6629076

    javamail.jar

    javamail发送邮件所需jar包。 开发的过程中,运行时可能会出现以下的错误: Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream 原因是jar包版本不统一,解决方法如下...

    SSH开发的发送邮件系统 Email发送系统

    如果出现JavaMail 发送邮件报错:java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream错误ava.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream 是因为myeclipse中有自带的Javamail...

    JavaMail-java实现发送邮件功能

    JAVA mail源码,内容从网上获得经消化整理而来。包内有mail.jar、activation.jar、Java Mail常见错误.docx

    log4j配置发送邮件案例

    log4j配置根据错误级别,发送邮件案例。

    java用户注册发送邮件

    如果你用myEclipse进行开发的话,运行时可能会出现以下的错误: Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream 原因是jar包版本不统一,解决方法如下: 删除Java EE...

    Mail 错误com/sun/mail/util/LineInputStream。javaee.jar 开发包

    该开发包是解决 JavaMail 发送邮件报错:java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream错误 ava.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream 使用方法: 将javaee.jar ...

    javamail例子以及jar包

    次例子本人成功发送! 如有错误!也可与本人联系进行探讨

    JavaMail的所有内容

    // 邮件服务器 Properties prop = new Properties(); prop.put("mail.smtp.auth", "true");// 制定登录时必须进行验证 prop.put("mail.smtp.host", mailServer); MyAuthenticator mm=new MyAuthenticator(...

    java发邮件(ssl)

    如果你用myEclipse进行开发,发送邮件,如果JavaEE版本和JavaMail的版本不一致,运行时可能会出现以下的错误: Exception in thread "main" java.lang.NoClassDefFoundError 在javaEE1.4下测试正常

    韩顺平_时尚购物网站工程源码(带数据库)

    2. JavaMailtest 是一个javamail程序,可以发送邮件. 3. 更新的网上商城-数据库脚本.sql 是数据库脚本,在sql 2000的查询分析器运行即可 a注意:确保你的sql 2000中没有testdb3数据库 b注意:执行后,有一个错误...

    JavaMailServer与Client简单部署[3]

    发送邮件.. 新浪邮件服务器地址: 发信(smtp)的服务器名是:smtp.sina.com.cn或者202.106.187.156   收信(pop3)的服务器名是:pop3.sina.com.cn或者202.106.187.150 我们这里用新浪 的邮箱.....

    深入Java Servlet网络编程

    5 利用JavaMail发送邮件 第13章 在Java Servlet中利用 RMI 13. 1 RMI概述 13. 2 RMI的实现 13. 2. 1 定义远程接口 13. 2. 2 实现远程对象 13. 2. 3 将远程对象绑定到RMI的名称空间 13. 2. 4 作为客户对象的...

    传智播客网上书城毕业设计资料和代码

    &gt; 注册成功时,使用javaMail给注册用户发送激活邮件,邮件中包含用于激活的链接,链接包含激活码参数; * 用户激活:通过激活码查询用户,如果查询不到用户,那么无效激活码!激活码使用uuid生成! * 用户登录: ...

    时尚购物网站工程源码(带数据库_韩顺平).rar

    2. JavaMailtest 是一个javamail程序,可以发送邮件. 3. 更新的网上商城-数据库脚本.sql 是数据库脚本,在sql 2000的查询分析器运行即可 a注意:确保你的sql 2000中没有testdb3数据库 b注意:执行后,有一个错误...

Global site tag (gtag.js) - Google Analytics