package com.mail.util; 
import java.util.Date; 
import java.util.Properties; 
import javax.mail.Address; 
import javax.mail.BodyPart;
import javax.mail.Message; 
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;
public class SendMail {
 
   // 邮件发送者地址 
   private static final String SenderEmailAddr = "send@163.com"; 
 
   // 邮件发送者邮箱用户 
   private static final String SMTPUserName = "send@163.com"; 
    
   // 邮件发送者邮箱密码 
   private static final String SMTPPassword = "mima"; 
 
smtp.qiye.163.com,普通为smtp.163.com)
   private static final String SMTPServerName = "smtp.qiye.163.com"; 
 
   // 传输类型 
   private static final String TransportType = "smtp"; 
 
   // 属性 
   private static Properties props; 
   public SendMail() { 
 
   } 
 
   /** 
    * 静态构造器 
    */ 
   static { 
   SendMail.props = new Properties(); 
 
       // 存储发送邮件服务器的信息 
   SendMail.props.put("mail.smtp.host", SendMail.SMTPServerName); 
       // 同时通过验证 
   SendMail.props.put("mail.smtp.auth", "true"); 
   SendMail.props.put("mail.smtp.starttls.enable","false");
   } 
 
   /** 
    * 发送邮件 
    * @param emailAddr:收信人邮件地址 
    * @param mailTitle:邮件标题 
    * @param mailConcept:邮件内容 
    */ 
   public static void sendMail(String emailAddr,String sendName, String mailTitle, 
           String mailConcept) { 
       // 根据属性新建一个邮件会话,null参数是一种Authenticator(验证程序) 对象 
       Session s = Session.getInstance(SendMail.props, null); 
 
       // 设置调试标志,要查看经过邮件服务器邮件命令,可以用该方法 
       s.setDebug(false); 
        
       // 由邮件会话新建一个消息对象 
       Message message = new MimeMessage(s); 
       try { 
           // 设置发件人 
           Address from = new InternetAddress(SendMail.SenderEmailAddr,sendName); 
           message.setFrom(from); 
 
           // 设置收件人 
           Address to = new InternetAddress(emailAddr); 
           message.setRecipient(Message.RecipientType.TO, to); 
 
           // 设置主题 
           message.setSubject(mailTitle); 
           // 设置信件内容 
           message.setText(mailConcept); 
           // 设置发信时间 
           message.setSentDate(new Date()); 
           // 存储邮件信息 
           message.saveChanges(); 
 
           Transport transport = s.getTransport(SendMail.TransportType); 
           // 要填入你的用户名和密码; 
           transport.connect(SendMail.SMTPServerName, SendMail.SMTPUserName, 
           SendMail.SMTPPassword); 
 
           // 发送邮件,其中第二个参数是所有已设好的收件人地址 
           transport.sendMessage(message, message.getAllRecipients()); 
           transport.close(); 
 
           //System.out.println("发送邮件,邮件地址:" + emailAddr + " 标题:" + mailTitle 
           //        + " 内容:" + mailConcept + "成功!"); 
       } catch (Exception e) { 
           //System.out.println(e.getMessage()); 
           //System.out.println("发送邮件,邮件地址:" + emailAddr + " 标题:" + mailTitle 
           //        + " 内容:" + mailConcept + "失败! 原因是" + e.getMessage()); 
       } 
   } 
   public static void sendMail(String emailAddr,String sendName, String mailTitle, 
           String mailConcept,boolean ishtml) { 
       // 根据属性新建一个邮件会话,null参数是一种Authenticator(验证程序) 对象 
       Session s = Session.getInstance(SendMail.props, null); 
 
       // 设置调试标志,要查看经过邮件服务器邮件命令,可以用该方法 
       s.setDebug(false); 
        
       // 由邮件会话新建一个消息对象 
       Message message = new MimeMessage(s); 
       try { 
           // 设置发件人 
           Address from = new InternetAddress(SendMail.SenderEmailAddr,sendName); 
           message.setFrom(from); 
 
           // 设置收件人 
           Address to = new InternetAddress(emailAddr); 
           message.setRecipient(Message.RecipientType.TO, to); 
 
           // 设置主题 
           message.setSubject(mailTitle); 
           Multipart mp = new MimeMultipart();   
             
             
               
              BodyPart html = new MimeBodyPart();    
              html .setContent(mailConcept, "text/html; charset=utf-8");
             
               mp.addBodyPart(html); // 将含有信件内容的BodyPart加入到MimeMulitipart对象中   
             
               // multipart加入到信件   
               message.setContent(mp);   
 
           // 设置发信时间 
           message.setSentDate(new Date()); 
           // 存储邮件信息 
           message.saveChanges(); 
 
           Transport transport = s.getTransport(SendMail.TransportType); 
           // 要填入你的用户名和密码; 
           transport.connect(SendMail.SMTPServerName, SendMail.SMTPUserName, 
           SendMail.SMTPPassword); 
 
           // 发送邮件,其中第二个参数是所有已设好的收件人地址 
           transport.sendMessage(message, message.getAllRecipients()); 
           transport.close(); 
//           
//            System.out.println("发送邮件,邮件地址:" + emailAddr + " 标题:" + mailTitle 
//                    + " 内容:" + mailConcept + "成功!"); 
       } catch (Exception e) { 
           System.out.println(e.getMessage()); 
//            System.out.println("发送邮件,邮件地址:" + emailAddr + " 标题:" + mailTitle 
//                    + " 内容:" + mailConcept + "失败! 原因是" + e.getMessage()); 
       } 
   } 
   
   
 
   /** 
    * 测试邮件发送情况 
    * @param args 
    */ 
   public static void main(String[] args){ 
   SendMail.sendMail("906277880@qq.com","名称", "测试javamail", "哥 你好!",true); 
   }
public boolean sendMail() {
 
return false;
}
 
public static boolean send(String emailAddr,String sendName, String mailTitle, 
           String mailConcept,boolean ishtml) { 
       // 根据属性新建一个邮件会话,null参数是一种Authenticator(验证程序) 对象 
       Session s = Session.getInstance(SendMail.props, null); 
 
       // 设置调试标志,要查看经过邮件服务器邮件命令,可以用该方法 
       s.setDebug(false); 
        
       // 由邮件会话新建一个消息对象 
       Message message = new MimeMessage(s); 
       try { 
           // 设置发件人 
           Address from = new InternetAddress(SendMail.SenderEmailAddr,sendName); 
           message.setFrom(from); 
 
           // 设置收件人 
           Address to = new InternetAddress(emailAddr); 
           message.setRecipient(Message.RecipientType.TO, to); 
 
           // 设置主题 
           message.setSubject(mailTitle); 
           Multipart mp = new MimeMultipart();   
             
             
               
              BodyPart html = new MimeBodyPart();    
              html .setContent(mailConcept, "text/html; charset=utf-8");
             
               mp.addBodyPart(html); // 将含有信件内容的BodyPart加入到MimeMulitipart对象中   
             
               // multipart加入到信件   
               message.setContent(mp);   
 
           // 设置发信时间 
           message.setSentDate(new Date()); 
           // 存储邮件信息 
           message.saveChanges(); 
 
           Transport transport = s.getTransport(SendMail.TransportType); 
           // 要填入你的用户名和密码; 
           transport.connect(SendMail.SMTPServerName, SendMail.SMTPUserName, 
           SendMail.SMTPPassword); 
 
           // 发送邮件,其中第二个参数是所有已设好的收件人地址 
           transport.sendMessage(message, message.getAllRecipients()); 
           transport.close(); 
//           
//            System.out.println("发送邮件,邮件地址:" + emailAddr + " 标题:" + mailTitle 
//                    + " 内容:" + mailConcept + "成功!"); 
           
           return true;
       } catch (Exception e) { 
           System.out.println(e.getMessage()); 
//            System.out.println("发送邮件,邮件地址:" + emailAddr + " 标题:" + mailTitle 
//                    + " 内容:" + mailConcept + "失败! 原因是" + e.getMessage()); 
           return false;
       } 
   } 
}