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

使用javamail遇到的问题.

阅读更多
做java这么久了,感觉有些基础知识理解的不透彻,掌握的不牢固.工作中会遇到很基础的问题,

今天用javamail做了一个发送邮件的功能.遇到了一系列的问题.

1:在本地(windows环境)测试一切正常,上传到服务器(Linux环境)就出了问题.[java.lang.SecurityException: Access to default session denied ],也就是获得默认的session时无法获得.郁闷了N久,在网上搜了下,有朋友遇到同样的问题,但都没人给予解决方案,我在csdn,javaeye发帖也没人回.后来在又看了一朋友的blog,他写的解决办法是,把 mailSession = Session.getDefaultInstance(props,sa);改成mailSession = Session.getInstance(props,sa);就是新创建一个session,我试了下,可以解决问题.但还是找到为什么不能获取默认session的原因.而且担心这样没次都Session.getInstance(props,sa);会不会出问题.

2.发送email内容为html时,出现乱码.同样是在本地测试正常,传到服务器上就出问题.后来经过测试,发现是服务器默认编码的问题,服务器的默认编码UTF-8,我的email内容是本地一html文件,在读取文件内容时没有设置编码,所以读取出来的就已经是乱码了,.后来该成FileInputStream fis = new FileInputStream(filename);BufferedReader in = new BufferedReader(new InputStreamReader(fis,"GBK"));就OK了. InputStreamReader不指定编码方式的话将采用底层操作系统的默认编码方式,所以这里要在构造器重指定编码的方式.

3.static变量的问题.         我定义了一个静态类变量public static boolean isRunning = false;来判断状态,刚开始一切正常,但是在一次出了异常之后.就无法执行了,有让我郁闷了好大一会.后来才发现.是static的原因.(static变量属于类变量,在这个类的所有 new出来的对象中只存在一个该变量,每个对象是对同一变量进行操作,static的变量和初始化块仅仅运行一次。不象没有static的变量,每次new的时候,都会重新初始化。)因为static变量只初始化一次,之后使用的值都是之前的状态值.所以我的问题就出在当运行正常时,运行时会把状态改为true,结束后会把状态改为false.但是出现异常时,后面就没把状态改成false.所以下次执行时就无法往下执行了.

转:http://hi.baidu.com/xublog/blog/item/7f7d5bfc8f356381b901a0e7.html
分享到:
评论

相关推荐

    Android使用JavaMail后台发送邮件遇到的一些问题

    NULL 博文链接:https://hautxsh.iteye.com/blog/1537259

    java 发送邮件 里面包含了遇到异常情况的解决办法

    用自己的邮件服务器发送邮件,遇到了这个问题,耗费了2个小时终于解决了 javax.mail.MessagingException: Could not connect to SMTP host: zxkaka.com, port: 25; 出现这个问题时,我在foxmail 以及 outlook都可以...

    JAVAmail验证

    JAVAmail验证的应用,加上一些在实践工程中遇到的一些问题

    javaMail案例

    这是本人在项目中遇到的一个使用 javaMail 发送outlook邮件案例,特拿出来分享给大家

    JavaMail 完全攻略(包括可能会出现的问题+源码)

    源码一份,还有你可能遇到的问题 (1)java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream (2)java.lang.NoClassDefFoundError: com/sun/activation/registries/LogSupport 的解决办法,还有对应的两...

    harmonyos2-javamail_android:适用于Android的JavaMailAPI(移植)

    遇到问题或困难的开发人员有用。 遇到了一些麻烦: 缺少 java.awt.Datatransfer 类(和相关接口):它们在 Apache Harmony SVN 中可用。 有一些 java.awt.Image 依赖项,已被删除。 最新的 Sun JavaMail API 不适用...

    基于Javamail的邮件收发系统(系统+论文+开题报告+任务书+外文翻译+文献综述+答辩PPT)_new.rar

    在遇到技术难题时,可以查阅辅助信息中的资料。源代码部分可以作为参考,学生可以基于其进行扩展或修改。 4. 注意事项 学生在使用这些资源时应确保遵循学校和课程的相关规定,如防止抄袭、确保原创等。 在参考源...

    Java邮件开发包(含附件发送)

    自己在项目开发中遇到要实现发送邮件的功能,学习了一下JavaMail API,把代码打了一个包。实现邮件发送功能(含附件),调用简单,适合急于开发邮件发送系统,却没有时间研究JavaMail的兄弟。 压缩包内有使用说明...

    Java邮件开发包(文本发送)

    自己在项目开发中遇到要实现发送邮件的功能,学习了一下JavaMail API,把代码打了一个包。 实现文本邮件的发送,调用简单,适合急于开发邮件发送系统,却没有时间研究JavaMail的兄弟。 <br/>压缩包内有使用...

    java实现发送QQ邮件(百分之百可用)

    要使用Java发送QQ邮件,需要使用JavaMail API并设置QQ邮箱的SMTP服务器。 1、添加JavaMail依赖 2、编写Java代码发送邮件 3、替换邮件凭据和收件...如果遇到任何问题,请检查您的登录凭据、SMTP服务器设置或防火墙设置。

    java发邮件完整以及各个邮箱的设置

    用javaMail实现 发邮件 以前遇到好多的发件人不能确定问题 都解决了

    邮件测试项目.zip

    javamail测试发送邮件 在windows下成功 在linux下失败(按照自己的理解,终于解决了),请结合我的文章,即便描述的问题可能与你遇到的情况不一致,不过或许你也会得到启发和思路哟。。文章请到这里找一下,...

    谈谈在Java发送邮件中遇到的的问题

    本文介绍了在利用Java发送邮件过程中遇到的的两个问题,以及如何解决这两个问题。如果大家也遇到了这些问题,可以来参考借鉴。

    Jmail结合JSP实现邮件的收发

    JavaMail 的推出使得用 Java 开发邮件系统变得非常容易,但是要想正确...另外在处理中文Mail 时,还会遇到 Java 中的字符集转换以及 Mail 中的编码问题。本文重点介绍了 MIME 协议规定的邮件格式标准及数据的编码问题。

Global site tag (gtag.js) - Google Analytics