android 发送邮件到QQEmail

javamail已经支持android了 最新下载地址
https://javaee.github.io/javamail/Android

我们经常会碰到崩溃收集日志的需求,目前比较流行的有友盟等这些主流收集日志的平台,那我们可不可以做一个类似的呢,肯定可以,首先全局监听错误,然后将错误保存,再发送到我们后台或者邮箱,我们讲一下android如何利用JavaXEmail 通过QQ发邮件到私人邮箱

首先准备两个账号两个账号 一个发送方 一个接收方,进入发送方QQ邮箱-设置


android 发送邮件到QQEmail_第1张图片
image.png

下面就开始我们编码了

  Properties props = new Properties();

            // 开启debug调试
            props.setProperty("mail.debug", "true");
            // 发送服务器需要身份验证
            props.setProperty("mail.smtp.auth", "true");
            // 设置邮件服务器主机名
            props.setProperty("mail.host", "smtp.qq.com");
            // 发送邮件协议名称
            props.setProperty("mail.transport.protocol", "smtp");

            MailSSLSocketFactory sf = new MailSSLSocketFactory();
            sf.setTrustAllHosts(true);
            props.put("mail.smtp.ssl.enable", "true");
            props.put("mail.smtp.ssl.socketFactory", sf);

            Session session = Session.getInstance(props);

            Message msg = new MimeMessage(session);
            msg.setSubject("App发生错误");

            String builder = String.valueOf(AppVolley.getParamsObject()) +
                    "\n" +
                    "上面是用户信息 => 下面是错误内容" +
                    "\n" +
                    errorMsg +
                    "\n";
            msg.setText(builder);

            msg.setFrom(new InternetAddress("发送方@qq.com"));

            Transport transport = session.getTransport();
            transport.connect("smtp.qq.com", "发送方@qq.com", "发送方密码");//发送方密码为POP3/SMTP服务码

            transport.sendMessage(msg, new Address[]{new InternetAddress("接收方@qq.com")});
            transport.close();
            //发送后清掉
            PrefUtils.save(AppApplication.get().getCurrentContext(), AppConfig.SP_ERROR_MSG, "");


你可能感兴趣的:(android 发送邮件到QQEmail)