• Android调用系统的发邮件功能


    package com.example.myapi.email;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import android.content.Context;
    import android.content.Intent;
    import android.net.Uri;
    
    public class SendEmailUtils {
        private SendEmailUtils(){}
        private static SendEmailUtils instance;
        public static SendEmailUtils getInstance(){
            synchronized (SendEmailUtils.class) {
                if(instance == null){
                    instance = new SendEmailUtils();
                }
            }
            return instance;
        }
        /**
         * 这是一个简单的测试,不支持带附件,多人,抄送发送等。
         * @param context
         */
        public void sendEmail(Context context){
            Intent intent = new Intent();
            intent.setData(Uri.parse("mailto:"));
            /*设置邮件的标题*/
            intent.putExtra(Intent.EXTRA_SUBJECT, "别紧张,这仅仅是一个测试!");
            /*设置邮件的内容*/
            intent.putExtra(Intent.EXTRA_TEXT, "测试打开系统邮箱并将发送的标题和内容自动填充到邮箱,并发送邮件,");
            //开始调用
            context.startActivity(intent); 
        }
        /**
         * 发邮件,带抄送,和密送,并带上个附件
         * @param context
         */
        public void sendEmailDuo(Context context){
            Intent intent = new Intent(Intent.ACTION_SEND); 
    //        intent.setData(Uri.parse("mailto:"));
            String[] tos = { "yw.1@163.com" }; 
            String[] ccs = { "yw.2@163.com" }; 
            String[] bccs = {"yw.3@163.com"}; 
            intent.putExtra(Intent.EXTRA_EMAIL, tos); //收件者
            intent.putExtra(Intent.EXTRA_CC, ccs); //抄送这
            intent.putExtra(Intent.EXTRA_BCC, bccs); //密送这
            intent.putExtra(Intent.EXTRA_TEXT, "邮件内容"); 
            intent.putExtra(Intent.EXTRA_SUBJECT, "邮件标题"); 
    
            intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///mnt/sdcard/a.jpg")); 
            intent.setType("image/*"); 
            intent.setType("message/rfc882"); 
            Intent.createChooser(intent, "Choose Email Client"); 
            context.startActivity(intent); 
            
        }
        /**
         * 多附件发送
         * @param conext
         */
        public void sendFujian(Context conext){
            Intent intent = new Intent(Intent.ACTION_SEND_MULTIPLE); 
            String[] tos = { "way.ping.li@gmail.com" }; 
            String[] ccs = { "way.ping.li@gmail.com" }; 
            intent.putExtra(Intent.EXTRA_EMAIL, tos); 
            intent.putExtra(Intent.EXTRA_CC, ccs); 
            intent.putExtra(Intent.EXTRA_TEXT, "body"); 
            intent.putExtra(Intent.EXTRA_SUBJECT, "subject"); 
    
            List<Uri> imageUris = new ArrayList<Uri>(); 
            imageUris.add(Uri.parse("file:///mnt/sdcard/a.jpg")); 
            imageUris.add(Uri.parse("file:///mnt/sdcard/b.jpg")); 
            intent.putExtra(Intent.EXTRA_STREAM, imageUris);
            intent.setType("image/*"); 
            intent.setType("message/rfc882"); 
            Intent.createChooser(intent, "Choose Email Client"); 
            conext.startActivity(intent); 
        }
        
    }

    备注:参考地址http://www.jb51.net/article/38158.htm

  • 相关阅读:
    在项目开始前,为客户做专门的“需求变更流程”培训是必要的
    代码优化四部曲:“拆套”、“解耦”、”封装“、“重构”
    这个博客的目的就是解构程序猿的世界观
    如果3D技术仅仅只是用于游戏和娱乐,那真是太暴殄天物了
    如何用Xcode 4.5开发3.5寸屏幕的iPhone 应用程序?
    所谓开发经验,其实就是对业务流程的积累
    项目经理必备的两大能力
    XML文件总是无法读取其中的数据
    在switch的case语句后,使用UIAlertView报错
    代码编写原则
  • 原文地址:https://www.cnblogs.com/tony-yang-flutter/p/email_system.html
Copyright © 2020-2023  润新知