文档章节

Android开发之发送邮件功能的实现(源代码分享)

liujie_sun
 liujie_sun
发布于 2015/05/08 12:40
字数 613
阅读 73
收藏 0

Android开发中可能会碰到如何发送邮件的困扰,之前我也查了相关的文档,博友们也分享了不少的发送邮件的办法,总共有3种把,我仔细阅读了下,发现有的讲的太过复杂跟麻烦,不够清晰,我今天就来分享下我认为的最好用的办法来解决该问题,使用Andorid-MAIL Jar包。首先我们先要下载以下四个文件

\

然后呢在Android平台上发送邮件呢,肯定先要检查网络的状态,网络状态可用的情况下才能发送邮件成功啊(别往了获取网络信息需要在AndroidManifest.xml文件中加入相应的权限。 )

public boolean isNetworkConnected(Context context) {
if (context != null) {
ConnectivityManager mConnectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();
if (mNetworkInfo != null) {
return mNetworkInfo.isAvailable();
}
}
return false;
}

下面一步就更简单了直接看代码注释把,就能解决我们发送邮件的需求了!

    //与网络连接相关的操作都要在子线程中完成,当然也可以在Service服务里操作
	class sendMessage extends Thread {
		@Override
		public void run() {
			// TODO Auto-generated method stub
			super.run();
			try {
				 //创建HtmlEmail类
				HtmlEmail email = new HtmlEmail();
				//填写邮件的主机明,我这里使用的是163
				email.setHostName("smtp.163.com");
				email.setTLS(true);
				email.setSSL(true);
				//设置字符编码格式,防止中文乱码
				email.setCharset("gbk");
				//设置收件人的邮箱
				email.addTo("123@qq.com");
				//设置发件人的邮箱
				email.setFrom("123@163.com");
				//填写发件人的用户名和密码
				email.setAuthentication("123", "123");
				//填写邮件主题
				email.setSubject("您好");
				//填写邮件内容
				email.setMsg(s1 + "\n" + s2);
				//发送邮件
				email.send();
				
			} catch (EmailException e) {
				// TODO Auto-generated catch block
				Log.i("TAG", "---------------->"+e.getMessage());
			}
		}
	}


好的以上就完成了android发送邮件的功能,大家也可以去研究下其他两种发送邮件的方式。在这里分享下刚才所说的要用到的Jar包的分享地址。

android发送邮件所需要的mail的jar包 


© 著作权归作者所有

liujie_sun
粉丝 5
博文 12
码字总数 28471
作品 0
朝阳
程序员
私信 提问
试着从java到C去理解android中发送短信的源代码

今天在找GPRS的源代码的时候居然找到了SMS的源代码,那么就写个短信发送功能,并来解释下源代码吧(自己的理解,求别喷)。 首先来个短信发送的小程序吧 String number = "110"; 下面来解释一...

我不是咸蛋
2012/09/04
4.1K
12
使用 Xamarin 开发 Android 应用

过去几个月里,我开发了一款应用,这不仅仅是我的个人作品更是服务于我目前雇主Telefonica的客户,借此来提高客户的满意度。 刚开始需求很简单,就是采集数据并发送到邮件。但将应用从windo...

oschina
2014/01/16
10.2K
24
Android中“分享”功能的实现

Android的编程界面相当直截了当,只要了解Activity和View,就可以写出可用的应用。不过这还不够。Android是一种手机操作系统,它提供了对各种与联网及通讯相关的支持。善用这些支持,才能开发...

鉴客
2011/09/20
587
0
消费活动记录

【业务需求】 在此描述您的业务要求: 按照附件中描述实现全部功能点。实现以后提交能够在android studio开发环境下正常运行的源码。注意,是源码。 【人员要求】 在此描述对您对要找的接包方...

zb1492688391124
2017/04/22
0
0
Android中“分享”功能的实现

Android的编程界面相当直截了当,只要了解Activity和View,就可以写出可用的应用。不过这还不够。Android是一种手机操作系统,它提供了对各种与联网及通讯相关的支持。善用这些支持,才能开发...

鉴客
2011/11/27
340
0

没有更多内容

加载失败,请刷新页面

加载更多

OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
昨天
5
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
昨天
6
0
数据库中间件MyCat

什么是MyCat? 查看官网的介绍是这样说的 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵...

沉浮_
昨天
6
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
昨天
7
0
常用物流快递单号查询接口种类及对接方法

目前快递查询接口有两种方式可以对接,一是和顺丰、圆通、中通、天天、韵达、德邦这些快递公司一一对接接口,二是和快递鸟这样第三方集成接口一次性对接多家常用快递。第一种耗费时间长,但是...

程序的小猿
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部