JAVAmail简单实现发送邮件

本文介绍了在Android平台上设计邮件客户端的两种方法:一是利用系统自带的邮件服务,适用于gmail账号;二是通过javamail功能包实现,支持多种邮箱类型。文章详细讨论了第二种方法在实际应用中遇到的问题及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

	这个原因还容易找一些,直接跳到了自己发送邮件的邮箱设置界面,看了半天我是要实现登陆到QQ邮箱,但是我即不是网页版也不是客户端,换而言之,我并不符合QQ邮箱正常登录流程,QQ邮箱考虑到这一点提出了授权,直接把登录密码换成下面的密码就行!




我在使用465端口的时候卡在Conncetion半天,后来换成587就好了,还有一点

// props.setProperty("mail.smtp.timeout", "25"); 不能轻易设置超时
我设置了超时之后,真是是好半天都连不上,不设置这个就立马连上了


最后  折腾了好久 终于OK了!



连接成功后,返回码是250,QQ邮件登录代发程序完成!撒花







	最后附上代码:
		  


         
		

	

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TouchOfSun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值