关于Android发送邮件
Google 在发表 Android 手机平台时,强调的是超强大的网络支持能力,因此,无论通过 GPRS、3G的电信网络或者是Wifi的无线WLAN网络,都能够发EMAIL。
发送邮件中使用的Intent 行为为 android.content.Intent.ACTION_SEND 。实际上在 Android 上使用的邮件发送服务是调用Gmail程序,而非直接使用SMTP的Protocol 。现在介绍本篇需要使用到的功能清单:
•验证用户输入是否为正确的邮箱格式;
•用户可以先把手动输入邮箱,也可以长按邮箱文本框跳到联系人那里找到联系人,得到联系人的邮箱,后返回;
•发送邮件。
•邮件发送程序并不复杂,主要是在 EditText 、Button 控件的构建,通过构造一个自定义的 Intent(android.content.Intent.ACTION_SEND)作为传送 Email 的 Activity 之用,在该Intent中,还必须使用 setType()来决定 Email的格式,使用 putExtra() 来置入寄件入(EXTRA_EMAIL)、主题(EXTRA_SUBJECT)、邮件内容(EXTRA_TEXT)以及其他Email的字段(EXTRA_BCC、EXTRA_CC)。代码如下:
myButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent mailIntent=new Intent(android.content.Intent.ACTION_SEND);
mailIntent.setType("plain/test");
strEmailReciver=new String[]{ myEditText.getText().toString() };
strEmailCC=new String[]{myEditText2.getText().toString()};
strEmailSubject=myEditText3.getText().toString();
strEmailBody=myEditText4.getText().toString();
mailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, strEmailReciver);
mailIntent.putExtra(android.content.Intent.EXTRA_CC, strEmailCC);
mailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, strEmailSubject);
mailIntent.putExtra(android.content.Intent.EXTRA_TEXT, strEmailBody);
startActivity(Intent.createChooser(mailIntent, getResources().getString(R.string.send)));
}
});
在Android中发送Email有许多种写法,本篇例子只是其中之一。下面把其他的方法共享给大家:
• 方法二
Uri uri=Uri.parse("mailto:terryyhl@gmail.com");
Intent MymailIntent=new Intent(Intent.ACTION_SEND,uri);
startActivity(MymailIntent);
•方法三
Intent testintent=new Intent(Intent.ACTION_SEND);
String[] tos={"terryyhl@gmail.com"};
String[] ccs={"kalaicheng@hotmail.com"};
testintent.putExtra(Intent.EXTRA_EMAIL, tos);
testintent.putExtra(Intent.EXTRA_CC, ccs);
testintent.putExtra(Intent.EXTRA_TEXT, "这是内容");
testintent.putExtra(Intent.EXTRA_SUBJECT, "这是标题");
testintent.setType("message/rfc822");
startActivity(Intent.createChooser(testintent, "发送"));
•方法四,传附件,这里以SD卡的音乐文件为例
Intent testN=new Intent(Intent.ACTION_SEND);
testN.putExtra(Intent.EXTRA_SUBJECT, "标题");
testN.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/music.mp3");
startActivity(Intent.createChooser(testN, "发送"));
•使用javamail。这里我就不介绍javamail的实现方法了。
•由于目前模拟器未内置Gmail Client端程序,因此发送Email程序在送出数据后,模拟器上会发出 “No Application can perform this action”,本人没有Android手机,故无法测试,还请有Android手机的园友能够在测试后,将结果反馈给我,谢谢。
作者“软件技术分享”
关于Android发送邮件的更多相关文章
- android 发送邮件--实现 send email for android
Android 发送邮件消息 用途:发送验证码,通过邮箱找回密码 不需要调用客户端直接使用代码进行发送 本项目使用到的jar包–本文结尾会附带下载链接 activation.jar additionn ...
- Android 发送邮件以及定时发送邮件的实现
本文以腾讯企业邮箱为例,展示如何发送邮件 及相关问题 选择腾讯企业邮箱是因为腾讯企业邮箱一般都是开启了smtp服务 项目地址:https://gitee.com/bimingcong/MySendE ...
- android发送邮件
众所周知,在Android中调用其他程序进行相关处理,几乎都是使用的Intent,所以,Email也不例外. 在Android中,调用Email有三种类型的Intent: Intent.ACT ...
- Android开发之发送邮件功能的实现(源代码分享)
Android开发中可能会碰到如何发送邮件的困扰,之前我也查了相关的文档,博友们也分享了不少的发送邮件的办法,总共有3种把,我仔细阅读了下,发现有的讲的太过复杂跟麻烦,不够清晰,我今天就来分享下我认为 ...
- Android开发之发送邮件功能的实现(源码分享)
Android开发中可能会碰到怎样发送邮件的困扰,之前我也查了相关的文档,博友们也分享了不少的发送邮件的办法.总共同拥有3种把,我细致阅读了下,发现有的讲的太过复杂跟麻烦,不够清晰.我今天就来分享下我 ...
- Android代码速查,写给新手的朋友们[转]
原文地址:http://www.open-open.com/lib/view/open1397286499090.html 0 android 创建按钮 Button button = new But ...
- Android使用Java Mail API发送邮件
最近在考虑为已经有的一个应用程序增加一个用户反馈的功能,用户可以通过反馈功能将用户的意见和建议.程序出现的问题以一种更符合用户习惯的方式反馈回来.网上也有一些实现好的反馈程序的服务,包括bug的提交. ...
- Android 使用 Gmail 来发送邮件
Android 使用 Gmail 来发送邮件 1. [代码]SendMail.java package org.apache.android.mail; import android.app.Acti ...
- android使用微软EWS发送邮件
通常我们在android使用javamail发送邮件,可是很多时候我们需要连接Exchange服务(很多公司内部邮件服务器采用,并且未开通smtp服务)来发送邮件,这时候我们就要用到微软的 ews-j ...
随机推荐
- mybatis报错:A query was run and no Result Maps were found for the Mapped Statement、、Property [login_ip] not found on type [com.thinkgem.jeesite.common.permission.entity.PremissUser]问题解决
今天在做ssm项目的时候出现了: 先是出现 了错误: mybatis报错:A query was run and no Result Maps were found for the Mapped St ...
- C++ split分割字符串函数
将字符串绑定到输入流istringstream,然后使用getline的第三个参数,自定义使用什么符号进行分割就可以了. #include <iostream> #include < ...
- Codeforces 1204D2. Kirk and a Binary String (hard version) (dp思路)
题目链接:http://codeforces.com/contest/1204/problem/D2 题目是给定一个01字符串,让你尽可能多地改变1变为0,但是要保证新的字符串,对任意的L,R使得Sl ...
- HttpServer带阻塞性能比较
服务端在返回hello,world! 之前先阻塞一秒钟,模拟访问DB等耗时操作. Netty 我直接在 WorkerGroup 里头sleep,用同步阻塞线程模型的方式来编程,所以性能暴降. Joob ...
- Docker - Dockerfile - 常见命令简介
概述 感觉是个 比较重要的东西 有个疑问 我是先讲 docker build 还是 先讲 Dockerfile 穿插讲 docker build 最基本的东西 原理 -t -f docker file ...
- 每天进步一点点------Sobel算子(1)
void MySobel(IplImage* gray, IplImage* gradient) { /* Sobel template a00 a01 a02 a10 a11 a12 a20 a21 ...
- 【Node.js安装步骤】
"Node.js是一个Javascript运行环境(runtime environment),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装.本文详 ...
- java spring-boot 服务器启动参数设置
java -jar -Xms5866m -Xmx5866m -Xss256k -Xloggc:/home/work/spring-boot/logs/gc-%t.log -XX:+UseGCLogFi ...
- 不会PPT配色没关系,有这些配色网站,也能让你的PPT配色美到极致
很多小伙伴在做PPT的时候,都会被PPT的配色难倒.看到各种非常好看的颜色总是想要将其用在自己的PPT中,可是却发现,颜色和颜色之间完全不搭,自己的PPT也变得丑到不像样. 别担心,今天将分享几个非常 ...
- CCF 试题编号: 201909-4 试题名称: 推荐系统
这题是stl的综合应用,map要想快,直接上unordered_map,这样查询接近O(1),是不是很嗨皮. 思路其实还是很简单的,type+id做个Hash,由于set.insert的第一个返回值是 ...