本文转载自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 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 = "你好!
本邮件发送自" + android.os.Build.MODEL + "。";String folder = Environment.getExternalStorageDirectory() + File.separator + AppUtil.toPath(this)+ File.separator + "logs" + File.separator; //获取目录路径List 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);}}}



更多相关文章

  1. Android intent 传递数组对象序列化
  2. Android自动化工具Monkeyrunner使用(六) —— 根据ID查找对象
  3. android gmail 添加附件(转载)
  4. Android调用系统的发邮件方法
  5. Android 4.2 webview注入js对象时需要注意的问题
  6. android基础学习--->Android SharedPreferences存储对象和图片(An
  7. android 发送邮件--实现 send email for android
  8. Android找到本地联络人并向其发邮件
  9. android 使用SharedPreferences保存对象

随机推荐

  1. 使用javascript进行内容占位符问题的第二
  2. 围绕一个带有jQuery旋钮的输入元素。
  3. 如何在java脚本中获取节点内部文本?
  4. jQuery实现checkbox的全选和反选
  5. jquery 循环添加事件
  6. 将ajax GET请求发送到ASP .NET Web API
  7. 如何在流体宽度旋转木马中的页面之间创建
  8. 5秒后删除新的div
  9. jQuery中的ajax服务端返回方式
  10. 使用ajax请求上传文件[副本]