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手机的园友能够在测试后,将结果反馈给我,谢谢。

作者“软件技术分享”

转载于:https://www.cnblogs.com/mochaMM/p/5164185.html

关于Android发送邮件相关推荐

  1. android+发邮件,Android发送邮件的方法实例详解

    Android发送邮件的方法实例详解 时间:2021-05-20 本文实例讲述了Android发送邮件的方法.分享给大家供大家参考,具体如下: 在android手机中实现发送邮件的功能也是不可缺少的. ...

  2. android studio发邮件功能,Android发送邮件的方法实例详解

    本文实例讲述了Android发送邮件的方法.分享给大家供大家参考,具体如下: 在android手机中实现发送邮件的功能也是不可缺少的.如何实现它呢?下面以简单的例子进行说明. 程序如下: import ...

  3. Android发送邮件

    Google 在发表 Android 手机平台时,强调的是超强大的网络支持能力,因此,无论通过 GPRS.3G的电信网络或者是Wifi的无线WLAN网络,都能够发EMAIL. 发送邮件中使用的Inte ...

  4. Android 发送邮件信息,附带附件

    直接上demo代码: MainActivity.java package com.example.androidemaildemo;import java.util.Properties;import ...

  5. Android发送邮件到指定邮箱(可带附件)

    第一种方法,调用系统的邮件软件来发送 众所周知在Android中调用其他程序进行相关处理,都是使用的Intent.当然,Email也不例外. 在 在Android中,调用Email有三种类型的Inte ...

  6. android 发送邮件

    直接奔主题~! 结构如图: Send_EmailActivity.java代码: public class Send_EmailActivity extends Activity {private E ...

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

    Android开发中可能会碰到如何发送邮件的困扰,之前我也查了相关的文档,博友们也分享了不少的发送邮件的办法,总共有3种把,我仔细阅读了下,发现有的讲的太过复杂跟麻烦,不够清晰,我今天就来分享下我认为 ...

  8. Bundle与Intent机制,Intent显式/隐式意图,传递参数及参数序列化,各种跳转(如打开浏览器),Intent的Size

    intent传递有没有大小限制,是多少?- http://blog.csdn.net/wingichoy/article/details/50679322 Android Intent调用 Uri的使 ...

  9. 聊一聊几种常用web图片格式:gif、jpg、png、webp

    前言 在大多数的web页面中,图片占到了页面大小的60%-70%.因此在web开发中,不同的场景使用合适的图片格式对web页面的性能和体验是很重要的.图片格式种类非常多,本文仅针对几种web应用中常用 ...

  10. 在Android开发中怎样调用系统Email发送邮件

    我们都知道,在Android中调用其他程序进行相关处理,几乎都是使用的Intent,所以,Email也不例外. 在Android中,调用Email有三种类型的Intent:      Intent.A ...

最新文章

  1. C语言 函数(做个笔记)
  2. 工作中技术学习总结-初版
  3. python 随机字符串_python生成随机数、随机字符串
  4. JavaScript(五)——错误处理
  5. mysql general bin区别_MySQL_编码utf8_bin和utf8_general_ci的区别
  6. MongoDB的下载、安装与部署
  7. Maven pom.xml 文件格式详解一
  8. 2060. 奶牛选美
  9. error c2471: cannot update program database vc90.pdb-小楼一夜听春雨-博客园
  10. 2021-11-15求积分面积和旋转体积的二重积分方法
  11. 顺利通过2021年上工信部的网络工程师考试,在此感悟一下
  12. 2021年最新互联网大厂中秋礼盒PK!
  13. dede mysql x_mysql 插入数据时中文变x87xE7xA7x91xE7x82这种?
  14. Python 编程辅助工具--ipython
  15. Android中实现ImageView圆角化的几种 方式
  16. 力扣-718最长重复子数组(dp)
  17. 玩转RFID(一) - MFRC522模块上手
  18. 什么是MES系统?MES系统具备哪些优势?
  19. 获取物料批次特性取值BAPI
  20. hdl-grap-slam 运行以及编译

热门文章

  1. iOS开发 frame 与 bounds 的区别与关系
  2. Oracle下Latch详细介绍
  3. 网友发来ifeng网址,打开后却是QQ空间,总提示QQ未登录?原来是一个阴险的诱骗网页...
  4. Shell脚本应用之服务启动脚本
  5. “朝三暮四”与“BPO”
  6. mysql left join 耗时_性能调优:mysql之left join
  7. Android 存储学习之在内部存储中读写文件
  8. 同步与互斥的基本原理
  9. linux内核命令行解析
  10. 数据分析之matplotlib和numpy的应用