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的实现方法了,有兴趣的话可以到这里看一下,网上找到的一篇比较详细的文章http://www.javaeye.com/topic/352753
•由于目前模拟器未内置Gmail Client端程序,因此发送Email程序在送出数据后,模拟器上会发出 “No Application can perform this action”,本人没有Android手机,故无法测试,还请有Android手机的园友能够在测试后,将结果反馈给我,谢谢。
源码:
注:博客涉及的源码请在千寻资源库:www.qxzyk.com 下载获取,谢谢支持。
分享到:
相关推荐
在Android平台上,发送邮件有多种方法,每种方式都有其适用场景和优缺点。下面将详细介绍几种常见的Android邮件发送方式。 1. **使用Intent启动邮件应用** Android系统内置了对邮件应用的支持,可以通过Intent来...
首先,Android发送邮件通常涉及到两个主要方法:一是通过集成SMTP(Simple Mail Transfer Protocol)服务在后台直接发送;二是通过Intent系统服务,唤起用户的邮件客户端来发送。这两种方法各有优缺点,适用于不同的...
在Android平台上,开发一款应用程序来发送邮件是一项常见的需求。这个"android邮件发送demo"就是针对这一功能的一个示例代码,可以帮助开发者理解并实现通过Android应用发送邮件的功能。在这个项目中,我们将探讨...
导入必要的依赖后,你可以创建一个Message对象,设置发件人、收件人、主题和正文,然后通过Transport类发送邮件。 6. **权限申请**: 在Android 6.0及以上版本,需要申请“INTERNET”和“ACCESS_NETWORK_STATE”权限...
在Android平台上实现发送邮件功能是一项常见的任务,尤其对于开发者来说,理解如何集成这一特性到应用程序中至关重要。本文将深入探讨如何在Android应用中构建并实现邮件发送功能。 首先,我们需要了解的是,...
在Android平台上实现自动发送邮件的功能是一项常见的需求,尤其对于开发者来说,这可能涉及到通知、日志分享或者其他自动化操作。为了实现这一功能,我们需要利用JavaMail API以及SMTP(Simple Mail Transfer ...
在Android平台上实现后台发送邮件是一项常见的任务,尤其对于那些需要自动同步或通知功能的应用来说。在后台发送邮件意味着用户无需直接操作应用,程序会在适当的时机默默地执行发送过程,只要设备有网络连接。以下...
在Android平台上,开发人员可以利用内置的SMTP(Simple Mail Transfer Protocol)支持来实现邮件发送功能。这个过程涉及到多个步骤和关键知识点,包括设置权限、构建邮件消息对象、选择邮件服务提供商以及处理网络...
在Android平台上实现邮件发送功能是一项常见的任务,尤其对于开发者来说,了解如何正确地集成和使用邮件服务至关重要。这里我们将深入探讨如何使用`commons-net-3.3.jar`和`mail.jar`这两个核心邮件包来实现在...
在Android平台上实现后台发送邮件的功能是一...以上就是关于Android后台发送邮件的详细步骤和关键知识点,希望对你有所帮助。在实际开发中,根据具体需求,可能还需要考虑邮件模板、错误处理、多邮件发送等功能的实现。
在Android平台上实现邮件发送...以上就是关于“Android客户端发送邮件”的详细知识点,涵盖了SMTP服务、JavaMail API的使用、授权机制以及安全连接等方面,这些内容对于开发能够发送邮件的Android应用程序至关重要。
在Android平台上,开发一款能够调用谷歌SMTP服务发送邮件的应用是一项常见的需求。这份"Android高级应用源码-Android调用谷歌STMP发送邮件 MailDemo.zip"提供了完整的示例代码,帮助开发者理解并实现这一功能。下面...
下面我们将深入探讨Android发送电子邮件及附件的相关知识点。 1. **使用Intent** Android系统通过Intent机制来启动不同组件之间的交互。发送邮件可以使用`Intent.ACTION_SEND`或者`Intent.ACTION_SENDTO`来启动...
在Android平台上,使用JavaMail库发送邮件是一种常见的实践。JavaMail是一个开源的API,它提供了在Java环境中处理邮件的功能,包括发送、接收和管理电子邮件。在这个案例中,"LouisJavaMail-master"是一个项目仓库,...
"发邮件Demo_Android"是一个针对这一需求的示例项目,它演示了如何在不依赖其他第三方应用或系统自带邮件应用的前提下,通过后台服务完成邮件发送。 首先,我们来理解Android中的服务(Service)。Service是Android...
在Android平台上,发送电子邮件通常需要使用JavaMail API。JavaMail是一个开源库,它提供了一组API,使得在Java环境中发送和接收电子邮件变得简单。在Android项目中,由于原生的Android SDK并不直接支持JavaMail,...
android 有时候 出现错误的时候,需要将错误通过邮件发送给 开发者,以便开发者可以改进。网上找了很多例子,大部分都是通过 android 自带api 使用 Intent 调用Email ,但是这样很不友好,还需要用户手动点击发送。...
在Android平台上实现邮件发送功能,通常涉及到SMTP(Simple Mail Transfer Protocol)服务和JavaMail API。以下将详细讲解如何在Android应用中编写代码来发送邮件。 首先,你需要在Android项目中引入JavaMail API的...
在Android开发中,由于原生系统并未提供完整的邮件发送功能,开发者通常会借助第三方库来实现邮件发送。本文将深入探讨如何使用Android第三方库来发送邮件,以及涉及到的相关知识点。 首先,我们需要理解邮件发送的...