JAVAmail简单实现发送邮件
2017-06-09 09:50
337 查看
Android在邮件客户端的设计中,有两种实现方法:一、调用Android系统自带的邮件服务 ,这种方法简单易用,但是发送邮件的账号必须是gmail账号二、采用javamail功能包进行设计,不必局限于特定邮箱,但是比前一种较麻烦1、使用Android 自带的邮件系统进行设计
Intent intent = new Intent();intent.setAction(Intent.ACTION_SEND);//设置对方邮件地址intent.putExtra(Intent.EXTRA_EMAIL, new String[]{"abc@com.cn","edf@com.cn"});//设置标题内容intent.putExtra(Intent.EXTRA_SUBJECT, "TEST");//启动一个新的Activity,"Sending mail..." 是在启动这个ACTIVITY的等待时间时所显示的文字startActivity(Intent.createChooser(intent,"Sending mail......."));
//如果没有gmail邮箱,会出现没有应用可执行此操作字样
2、使用javamail设计,须导入3个包,:activation.jar、additionnal、jar,mail、jar,
还需要开启网络权限,这几个包在使用的时候还是需要注意的
1、出现的第一个问题,报出java.lang.NoClassDefFoundError: javax.mai这种错误
原因不明,但是,从外部引用进入这三个包就没有再报过这个错误,而且本身我在studio中
也没能顺利引用additionnal、jar这个包,我感觉Android毕竟只是封装了JAVA的一些东西,但是真正实现,还要找其根本。
2、出现的第二个问题,报出530 Error: A secure connection is requiered(such as ssl). More information at http://service.mail.qq[/code]这个原因还容易找一些,直接跳到了自己发送邮件的邮箱设置界面,看了半天我是要实现登陆到QQ邮箱,但是我即不是网页版也不是客户端,换而言之,我并不符合QQ邮箱正常登录流程,QQ邮箱考虑到这一点提出了授权,直接把登录密码换成下面的密码就行!我在使用465端口的时候卡在Conncetion半天,后来换成587就好了,还有一点// props.setProperty("mail.smtp.timeout", "25"); 不能轻易设置超时我设置了超时之后,真是是好半天都连不上,不设置这个就立马连上了最后 折腾了好久 终于OK了!连接成功后,返回码是250,QQ邮件登录代发程序完成!撒花最后附上代码:
相关文章推荐
- JavaMail实现邮件发送的简单封装(包括文本、图片、html、附件)
- javamail实现发送邮件并简单实现观察者模式
- 用javamail实现一个简单的邮件发送
- JAVA邮件发送的简单实现,使用javamail通过smtp协议发信
- JavaMail发送邮件简单实现
- javaMail邮件发送的简单实现
- 基于javamail简单实现邮件发送和相关问题的解决
- java邮件发送的简单实现,使用javamail通过smtp协议发信
- JavaMail实现简单的邮件发送功能
- 使用javamail实现发送简单邮件和带有附件的邮件
- javamail实现简单邮件发送
- 基于JavaMail的Java实现简单邮件发送功能
- [C#]实现简单发送邮件
- Javamail,编写简单的程序发送邮件
- JavaMail学习笔记-1(简单纯文本的邮件发送)
- 用java实现的邮件系统六(javamail发送复杂邮件-带附件和html)
- javamail实现互联网邮件发送
- 最简单的JavaMail发送邮件
- javamail 一个发送邮件的简单例子(转载)
- 用java实现的邮件系统四 (javamail发送邮件)