1)需要导入3个jar包:activation.jar additionnal.jar mail.jar
2)发件箱需要开启SMTP服务
/**    * 简单邮件(不带附件的邮件)发送器    */    public class SimpleMailSender  {    /**    * 以文本格式发送邮件    * @param mailInfo 待发送的邮件的信息    */    public boolean sendTextMail(MailSenderInfo mailInfo) {// 判断是否需要身份认证    MyAuthenticator authenticator = null;    Properties pro = mailInfo.getProperties();   if (mailInfo.isValidate()) {    // 如果需要身份认证,则创建一个密码验证器    authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());    }   // 根据邮件会话属性和密码验证器构造一个发送邮件的session    Session sendMailSession = Session.getDefaultInstance(pro,authenticator);    try {    // 根据session创建一个邮件消息    Message mailMessage = new MimeMessage(sendMailSession);    // 创建邮件发送者地址    Address from = new InternetAddress(mailInfo.getFromAddress());    // 设置邮件消息的发送者    mailMessage.setFrom(from);    // 创建邮件的接收者地址,并设置到邮件消息中    Address to = new InternetAddress(mailInfo.getToAddress());    mailMessage.setRecipient(Message.RecipientType.TO,to);    // 设置邮件消息的主题    mailMessage.setSubject(mailInfo.getSubject());    // 设置邮件消息发送的时间    mailMessage.setSentDate(new Date());    // 设置邮件消息的主要内容    String mailContent = mailInfo.getContent();    mailMessage.setText(mailContent);    // 发送邮件    Transport.send(mailMessage);   return true;    } catch (MessagingException ex) {    ex.printStackTrace();    }    return false;    }    /**    * 以HTML格式发送邮件    * @param mailInfo 待发送的邮件信息    */    public static boolean sendHtmlMail(MailSenderInfo mailInfo){    // 判断是否需要身份认证    MyAuthenticator authenticator = null;   Properties pro = mailInfo.getProperties();   //如果需要身份认证,则创建一个密码验证器     if (mailInfo.isValidate()) {    authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());   }    // 根据邮件会话属性和密码验证器构造一个发送邮件的session    Session sendMailSession = Session.getDefaultInstance(pro,authenticator);    try {    // 根据session创建一个邮件消息    Message mailMessage = new MimeMessage(sendMailSession);    // 创建邮件发送者地址    Address from = new InternetAddress(mailInfo.getFromAddress());    // 设置邮件消息的发送者    mailMessage.setFrom(from);    // 创建邮件的接收者地址,并设置到邮件消息中    Address to = new InternetAddress(mailInfo.getToAddress());    // Message.RecipientType.TO属性表示接收者的类型为TO    mailMessage.setRecipient(Message.RecipientType.TO,to);    // 设置邮件消息的主题    mailMessage.setSubject(mailInfo.getSubject());    // 设置邮件消息发送的时间    mailMessage.setSentDate(new Date());    // MiniMultipart类是一个容器类,包含MimeBodyPart类型的对象    Multipart mainPart = new MimeMultipart();    // 创建一个包含HTML内容的MimeBodyPart    BodyPart html = new MimeBodyPart();    // 设置HTML内容    html.setContent(mailInfo.getContent(), "text/html; charset=utf-8");    mainPart.addBodyPart(html);    // 将MiniMultipart对象设置为邮件内容    mailMessage.setContent(mainPart);    // 发送邮件    Transport.send(mailMessage);    return true;    } catch (MessagingException ex) {    ex.printStackTrace();    }    return false;    }    }

详细代码见附件

更多相关文章

  1. Android(安卓)线程 Handler详解
  2. android mms 数据库
  3. 监听方法Android之Home键监听封装
  4. (转)Android中Handler引起的内存泄露
  5. Android(安卓)Handler removeMessages引发postDelayed失效的问题
  6. PackageManagerService(Android5.1)深入分析(四)安装应用
  7. Android之Handler详解(四)
  8. android线程相关1
  9. 【Android】几种常见广播监听器(Wifi,亮灭屏,Home键,短信)总结

随机推荐

  1. 深入浅析Android消息机制
  2. 9. android Gallery(画廊)以及BaseAdapte
  3. android app内存使用限制
  4. 为什么Android的AsyncTask不适合执行长时
  5. Android实现拨打电话功能
  6. Android(安卓)Service Messenger & AIDL
  7. 下载CyanogenMod 7.2 for Motorola Defy
  8. 27、android log日志
  9. android内存溢出处理方式之一
  10. strcpy函数在android中的实现