分享

javamail开发简例 - AJava

 闪宁斯达 2010-09-20
  1. import java.util.Date;    
  2. import java.util.Properties;    
  3.   
  4. import javax.mail.Address;    
  5. import javax.mail.Message;    
  6. import javax.mail.Session;    
  7. import javax.mail.Transport;    
  8. import javax.mail.internet.InternetAddress;    
  9. import javax.mail.internet.MimeMessage;    
  10.   
  11. /**   
  12.  * 常规JavaMail 邮件发送实用类   
  13.  * @author: 何杨(heyang78@gmail.com)   
  14.  * @date: 2008-8-6-下午02:43:22   
  15.  */    
  16. public final class MailUtil {    
  17.    // 邮件发送者地址    
  18.     private static final String SenderEmailAddr = "bugaosuni@163.com";    
  19.   
  20.     // 邮件发送者邮箱用户    
  21.     private static final String SMTPUserName = "bugaosuni";    
  22.         
  23.     // 邮件发送者邮箱密码    
  24.     private static final String SMTPPassword = "bugaosuni";    
  25.   
  26.     // 邮件发送者邮箱SMTP服务器    
  27.     private static final String SMTPServerName = "smtp.163.com";   
  28.   
  29.     // 传输类型    
  30.     private static final String TransportType = "smtp";    
  31.   
  32.     // 属性    
  33.     private static Properties props;    
  34.   
  35.     /**   
  36.      * 私有构造函数,防止外界新建本实用类的实例,因为直接使用MailUtil.sendMail发送邮件即可   
  37.      *   
  38.      */    
  39.     private MailUtil() {    
  40.   
  41.     }    
  42.   
  43.     /**   
  44.      * 静态构造器   
  45.      */    
  46.     static {    
  47.         MailUtil.props = new Properties();    
  48.   
  49.         // 存储发送邮件服务器的信息    
  50.         MailUtil.props.put("mail.smtp.host", MailUtil.SMTPServerName);    
  51.         // 同时通过验证    
  52.         MailUtil.props.put("mail.smtp.auth""true");    
  53.     }    
  54.   
  55.     /**   
  56.      * 发送邮件   
  57.      * @param emailAddr:收信人邮件地址   
  58.      * @param mailTitle:邮件标题   
  59.      * @param mailConcept:邮件内容   
  60.      */    
  61.     public static void sendMail(String emailAddr, String mailTitle,    
  62.             String mailConcept) {    
  63.       
  64.         // 根据属性新建一个邮件会话,null参数是一种Authenticator(验证程序) 对象    
  65.         Session s = Session.getInstance(MailUtil.props, null);    
  66.   
  67.         // 设置调试标志,要查看经过邮件服务器邮件命令,可以用该方法    
  68.         s.setDebug(false);    
  69.             
  70.         // 由邮件会话新建一个消息对象    
  71.         Message message = new MimeMessage(s);    
  72.         try {    
  73.              
  74.             // 设置发件人    
  75.             Address from = new InternetAddress(MailUtil.SenderEmailAddr);    
  76.             message.setFrom(from);    
  77.   
  78.             // 设置收件人    
  79.             Address to = new InternetAddress(emailAddr);    
  80.             message.setRecipient(Message.RecipientType.TO, to);    
  81.   
  82.             // 设置主题    
  83.             message.setSubject(mailTitle);    
  84.             // 设置信件内容    
  85.             message.setText(mailConcept);    
  86.             // 设置发信时间    
  87.             message.setSentDate(new Date());    
  88.             // 存储邮件信息    
  89.             message.saveChanges();    
  90.               
  91.                
  92.                
  93.             Transport transport = s.getTransport(MailUtil.TransportType);    
  94.             System.out.println("send");   
  95.             // 要填入你的用户名和密码;    
  96.             transport.connect(MailUtil.SMTPServerName, MailUtil.SMTPUserName,    
  97.                     MailUtil.SMTPPassword);    
  98.               
  99.             // 发送邮件,其中第二个参数是所有已设好的收件人地址    
  100.             transport.sendMessage(message, message.getAllRecipients());    
  101.             transport.close();    
  102.   
  103.             System.out.println("发送邮件,邮件地址:" + emailAddr + " 标题:" + mailTitle    
  104.                     + " 内容:" + mailConcept + "成功!");    
  105.         } catch (Exception e) {    
  106.             System.out.println(e.getMessage());    
  107.             System.out.println("发送邮件,邮件地址:" + emailAddr + " 标题:" + mailTitle    
  108.                     + " 内容:" + mailConcept + "失败! 原因是" + e.getMessage());    
  109.         }    
  110.     }    
  111.     /**   
  112.      * 测试邮件发送情况   
  113.      * @param args   
  114.      */    
  115.     public static void main(String[] args){    
  116.         MailUtil.sendMail("bugaosuni@163.com""title""concept");    
  117.     }    
  118. }   

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约