Android 邮件发送,支持附加文件,抄送、密送多人接收

本文介绍如何在Android应用中实现邮件发送功能,包括附加文件、抄送和密送。重点是使用activation.jar和mail.jar库,并提供了一段直接在Android中发送邮件的代码示例,注意由于网络操作需避免在主线程执行。
摘要由CSDN通过智能技术生成

      上一篇写了一个java发送邮件的工具,原本想用到Android中,但是java工程中的jar包与Android中使用的jar是不一样的。用法也有所不同,其实也一样,稍微有点变化。

    Android中使用的两个个jar包 activation.jar 、mail.jar 可到https://www.mvnjar.com/com.sun.mail/list.html中下载两个jar包,或者使用仓库地址。

    比较懒得我就不喜欢定义什么对象类来控制消息的发送了,之间将消息塞进去很实在。

    直接看代码:

package com.sai.library.email;

import android.util.Log;

import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.*;
import javax.mail.internet.*;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.util.*;

public class SendEmail {

    public  interface Callback {
        void success(String s);

        void error(String s, Exception e);
    }

    public static final String DATA_TYPE_HTML = "text/html;charset=utf-8";
    private Callback callback;  //信息回调接口
    private Properties properties;//系统属性对象
    private String mailAccount;   //发送邮箱地址
    private String mailPassword;  //验证密码
    private Session session;      //邮件会话对象
    private String myNickName;    //昵称,发送时自己的昵称
    private boolean debug = false;//debug模式
    private boolean isSaveEmail = false;
    private String pathName = "exc.eml";//邮件保存时的

    public SendEmail(String mailAccount, String mailPassword) {
        this.mailAccount = mailAccount;
        this.mailPassword = mailPassword;
    }

    public SendEmail setSaveEmail(String pathName) {
        isSaveEmail = true;
        this.pathName = pathName;
        return this;
    }

    private List<String> recipientT0List = new ArrayList<>();//收件地址
    private List<String> recipientCCList = new ArrayList<>();//密送地址
    private List<String> recipientBCCList = new ArrayList<>();//抄送地址
    private List<String> filePath = new ArrayList<>();//附件

    public SendEmail setDebug(boolean sessionDebug) {
        debug = sessionDebug;
        return this;
    }

    /*** 设置多人收件人地址 */
    public SendEmail addRecipientT0(String address) {
        recipientT0List.add(address);
        return this;
    }

    public SendEmail addRecipientCC(String address) {
        recipientCCList.add(address);
        return this;
    }

    public SendEmail addRecipientBCC(String address) {
        recipientBCCList.add(address);
        return this;
    }

    public SendEmail addRecipientT0(List<String> address) {
        recipientT0List.addAll(address);
        return this;
    }

    public SendEmail addRecipientCC(List<String> address) {
        recipientCCList.addAll(address);
        return this;
    }

    public SendEmail addRecipientBCC(
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值