本文转载自https://my.oschina.net/chenhao901007/blog/373883,谢谢!

package com.dailywork.util;import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.Properties;import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;public class EmailManager {private Properties props; // 系统属性private Session session; // 邮件会话对象private MimeMessage mimeMsg; // MIME邮件对象private Multipart mp; // Multipart对象,邮件内容,标题,附件等内容均添加到其中后再生成MimeMessage对象/*** Constructor* * @param smtp*            邮件发送服务器*/public EmailManager() {props = System.getProperties();props.put("mail.smtp.auth", "false");session = Session.getDefaultInstance(props, null);session.setDebug(true);mimeMsg = new MimeMessage(session);mp = new MimeMultipart();}/*** Constructor* * @param smtp*            邮件发送服务器*/public EmailManager(String smtp, String username, String password) {props = System.getProperties();props.put("mail.smtp.auth", "true");props.put("mail.smtp.host", smtp);props.put("username", username);props.put("password", password);props.setProperty("mail.transport.protocol", "smtp");props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");// ssl方式session = Session.getDefaultInstance(props, null);session.setDebug(true);mimeMsg = new MimeMessage(session);mp = new MimeMultipart();}/*** 发送邮件*/public boolean sendMail(String from, String[] to, String[] copyto, String subject, String content,List<String> files, int port) {try {// 设置发信人mimeMsg.setFrom(new InternetAddress(from));// 设置接收人for (int i = 0; i < to.length; i++) {mimeMsg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to[i]));}// 设置抄送人if (copyto != null && copyto.length > 0) {for (int i = 0; i < copyto.length; i++) {mimeMsg.setRecipients(Message.RecipientType.CC, InternetAddress.parse(copyto[i]));}}// 设置主题mimeMsg.setSubject(subject);// 设置正文for (String file : files) {BodyPart bp = new MimeBodyPart();bp.setContent(content, "text/html;charset=utf-8");mp.addBodyPart(bp);// 设置附件bp = new MimeBodyPart();FileDataSource fileds = new FileDataSource(file);bp.setDataHandler(new DataHandler(fileds));bp.setFileName(MimeUtility.encodeText(fileds.getName(), "UTF-8", "B"));mp.addBodyPart(bp);mimeMsg.setContent(mp);}mimeMsg.saveChanges();// 发送邮件if (props.get("mail.smtp.auth").equals("true")) {Transport transport = session.getTransport("smtp");transport.connect((String) props.get("mail.smtp.host"), port, (String) props.get("username"),(String) props.get("password"));transport.sendMessage(mimeMsg, mimeMsg.getRecipients(Message.RecipientType.TO));// transport.sendMessage(mimeMsg,// mimeMsg.getRecipients(Message.RecipientType.CC));transport.close();} else {Transport.send(mimeMsg);}System.out.println("邮件发送成功");} catch (MessagingException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (UnsupportedEncodingException e) {// TODO Auto-generated catch blocke.printStackTrace();}return true;}
}

调用发送邮件函数:

public void sendMail() {String smtp = "smtp.qq.com";String username = "@qq.com";String password = "";String from = "@qq.com";String[] to = { "@qq.com" };String subject = "日志";String content = "你好!<br/>本邮件发送自" + android.os.Build.MODEL + "。";String folder = Environment.getExternalStorageDirectory() + File.separator + AppUtil.toPath(this)+ File.separator + "logs" + File.separator; //获取目录路径List<String> files = FileUtil.findFiles(folder); //获取文件夹下所有文件的绝对路径EmailManager email = new EmailManager(smtp, username, password);if(email.sendMail(from, to, null, subject, content, files, 465)) {for(String file : files) {FileUtil.deleteFile(file);}}}

android发送QQ邮件(带附件)相关推荐

  1. QQ邮箱炸啦,我的附件名怎么乱码?解决javaMail发送QQ邮件,附件名乱码的问题

    解决javaMail发送QQ邮件,附件名乱码的问题 问题背景 具体问题 解决思路 源码Debug 解决方式 问题背景 项目里面使用javaMail发QQ邮件,日志显示我们这边传过去的附件名是正常的,个 ...

  2. python3 发送qq邮件带图片

    # -*- coding: utf-8 -*- import smtplib from email.mime.multipart import MIMEMultipart from email.mim ...

  3. Java邮件发送QQ邮箱带附件

    添加依赖 <!-- https://mvnrepository.com/artifact/javax.mail/mail --><dependency><groupId& ...

  4. java怎么发qq邮件_java代码如何发送QQ邮件

    近来想写一个qq之间互相发送邮件的工具.奈何一直报错服务错误: org.apache.commons.mail.EmailException: Sending the email to the fol ...

  5. python3:利用SMTP协议发送QQ邮件+附件

    转载请表明出处:https://www.cnblogs.com/shapeL/p/9115887.html 1.发送QQ邮件,首先必须知道QQ邮箱的SMTP服务器 http://service.mai ...

  6. java 实现邮件带附件发送

    邮件发送测试案例 1. 这里以网易邮箱做案例:注册网易邮箱并开通smtp服务 开启smtp服务并保存授权码(很重要) 2. 在 maven 项目的 pom.xml中引入依赖 <!-- 邮件发送依 ...

  7. 使用springboot发送QQ邮件,可以发送附件

    使用springboot发送QQ邮件 1.在application.properties中写入以下配置信息 #文件上传的配置信息 #总大小 spring.servlet.multipart.max-r ...

  8. java实现发送QQ邮件

    项目架构:Springboot pom.xml引入mail的starter <dependency><groupId>org.springframework.boot</ ...

  9. Java Mail---SMTP协议-Java发邮件(带附件)演示过程

    转载请注明出处: http://blog.csdn.net/qq_26525215 本文源自[大学之旅_谙忆的博客] JavaMail-API简介: 邮件客户端的主要任务是向邮件服务器发送邮件,以及接 ...

最新文章

  1. Linux实战教学笔记16:磁盘原理
  2. 步子太快容易牺牲精度,梯度下降复杂度这一简单道理,获严格数学证明
  3. 2018-01-02 JavaScript实现ZLOGO: 用语法树实现多层循环...
  4. 不想学python-为什么自学python总是坚持不下去,这篇文章给你解答!
  5. springcloud(四):熔断器Hystrix
  6. 第1章 Express MongoDB 搭建多人博客
  7. linux 云主机安装方法,虚拟主机linux服务器安装教程
  8. linux m25p80 dts,OpenWrt添加开发板RT5350-EVB,并成功设置pppoe
  9. Eclipse 相同变量背景高亮显示设置(Occurrences)
  10. http是不是中间件_等保2.0涉及的Apache Tomcat中间件(上)
  11. 智慧警务三维PGIS及一标三实采集、展示平台
  12. Visual Studio 2019 VSIX插件
  13. 飞书信外贸移动社交自建站系统玩转海外拼团分销
  14. memcacheQueue队列
  15. C++ 侯捷视频学习(草稿)
  16. DAEMON tools lite “至少SPTD ..与 Windows 2000或更高版本” 报错的解决
  17. Java课后题第十二章:12.18(添加包语句)
  18. 红队使用的那些工具(基础篇)附下载
  19. MIPI CSI-2笔记(20) -- 建议的内存存储格式(Recommended Memory Storage)
  20. 模型预测控制(MPC)解析(三):多输入多输出系统

热门文章

  1. python斐波那契螺旋线怎么画向日葵心,【脑洞题】飞蛾扑火曲线—— 斐波那契螺旋线...
  2. 固态硬盘 每秒1.5G
  3. Gateway网关的使用
  4. The bean ‘dataTokenMapper‘ could not be injected because it is a JDK dynamic
  5. android怎么装windows系统,普通电脑怎么装Windows和安卓的双系统?
  6. 【python:turtle绘画 圣诞树】
  7. win7不能在本地计算机启动防火墙,Win7防火墙启动不了的原因及解决办法
  8. oracle apex接口文件,Oracle_APEX开发指南
  9. 高维空间中椭圆的基本方程
  10. day 19 C# 窗体金额换算