zoukankan      html  css  js  c++  java
  • JavaMail

    注意:须要引入activation.jar

      cos.jar

        mail.jar,

    而且删除掉j2ee中的反复jar包(我的路径是D:myeclipse10For32Commonpluginscom.genuitec.eclipse.j2eedt.core_10.0.0.me201110301321datalibrarysetEE_5javaee.jar),用winrar打开javaee.jar,删除掉activation和mail两个包就OK了

    详细我的demo下载地址:http://download.csdn.net/detail/l294333475/7698349

    package com.util.mail;
    
    public class test{
    public static void main(String[] args){   
             //这个类主要是设置邮件   
          MailSenderInfo mailInfo = new MailSenderInfo();    
          mailInfo.setMailServerHost("smtp.163.com");    
          mailInfo.setMailServerPort("25");    
          mailInfo.setValidate(true);    
          mailInfo.setUserName("18262396202@163.com");    
          mailInfo.setPassword("*************");//您的邮箱password    
          mailInfo.setFromAddress("18262396202@163.com");    
          mailInfo.setToAddress("18751870673@163.com");    
          mailInfo.setSubject("刘鹏");
          mailInfo.setContent("你好。我是刘鹏,測试JavaMail");    
             //这个类主要来发送邮件   
          SimpleMailSender sms = new SimpleMailSender();   
              sms.sendTextMail(mailInfo);//发送文体格式    
              sms.sendHtmlMail(mailInfo);//发送html格式   
        }  
    }
    
    package com.util.mail;
    /**   
    * 发送邮件须要使用的基本信息 
    *author by wangfun
    http://www.5a520.cn 小说520  
    */    
    import java.util.Properties; 
    public class MailSenderInfo {    
        // 发送邮件的server的IP和port    
        private String mailServerHost;    
        private String mailServerPort = "25";    
        // 邮件发送者的地址    
        private String fromAddress;    
        // 邮件接收者的地址    
        private String toAddress;    
        // 登陆邮件发送server的username和password    
        private String userName;    
        private String password;    
        // 是否须要身份验证    
        private boolean validate = false;    
        // 邮件主题    
        private String subject;    
        // 邮件的文本内容    
        private String content;    
        // 邮件附件的文件名称    
        private String[] attachFileNames;      
        /**   
          * 获得邮件会话属性   
          */    
        public Properties getProperties(){    
          Properties p = new Properties();    
          p.put("mail.smtp.host", this.mailServerHost);    
          p.put("mail.smtp.port", this.mailServerPort);    
          p.put("mail.smtp.auth", validate ? "true" : "false");    
          return p;    
        }    
        public String getMailServerHost() {    
          return mailServerHost;    
        }    
        public void setMailServerHost(String mailServerHost) {    
          this.mailServerHost = mailServerHost;    
        }   
        public String getMailServerPort() {    
          return mailServerPort;    
        }   
        public void setMailServerPort(String mailServerPort) {    
          this.mailServerPort = mailServerPort;    
        }   
        public boolean isValidate() {    
          return validate;    
        }   
        public void setValidate(boolean validate) {    
          this.validate = validate;    
        }   
        public String[] getAttachFileNames() {    
          return attachFileNames;    
        }   
        public void setAttachFileNames(String[] fileNames) {    
          this.attachFileNames = fileNames;    
        }   
        public String getFromAddress() {    
          return fromAddress;    
        }    
        public void setFromAddress(String fromAddress) {    
          this.fromAddress = fromAddress;    
        }   
        public String getPassword() {    
          return password;    
        }   
        public void setPassword(String password) {    
          this.password = password;    
        }   
        public String getToAddress() {    
          return toAddress;    
        }    
        public void setToAddress(String toAddress) {    
          this.toAddress = toAddress;    
        }    
        public String getUserName() {    
          return userName;    
        }   
        public void setUserName(String userName) {    
          this.userName = userName;    
        }   
        public String getSubject() {    
          return subject;    
        }   
        public void setSubject(String subject) {    
          this.subject = subject;    
        }   
        public String getContent() {    
          return content;    
        }   
        public void setContent(String textContent) {    
          this.content = textContent;    
        }    
    }   
    
    
    package com.util.mail;   
    
    import java.util.Date;    
    import java.util.Properties;   
    import javax.mail.Address;    
    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;    
      
    /**   
    * 简单邮件(不带附件的邮件)发送器   
    http://www.bt285.cn BT下载
    */    
    public class SimpleMailSender  {    
    /**   
      * 以文本格式发送邮件   
      * @param mailInfo 待发送的邮件的信息   
      */    
        public boolean sendTextMail(MailSenderInfo mailInfo) {    
          // 推断是否须要身份认证    
          MyAuthenticator authenticator = null;    
          Properties pro = mailInfo.getProperties();   
          if (mailInfo.isValidate()) {    
          // 假设须要身份认证。则创建一个password验证器    
            authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());    
          }   
          // 依据邮件会话属性和password验证器构造一个发送邮件的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();   
          //假设须要身份认证。则创建一个password验证器     
          if (mailInfo.isValidate()) {    
            authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());   
          }    
          // 依据邮件会话属性和password验证器构造一个发送邮件的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;    
        }    
    }   
    
    
    package com.util.mail;   
    
    import javax.mail.*;   
         
    public class MyAuthenticator extends Authenticator{   
        String userName=null;   
        String password=null;   
            
        public MyAuthenticator(){   
        }   
        public MyAuthenticator(String username, String password) {    
            this.userName = username;    
            this.password = password;    
        }    
        protected PasswordAuthentication getPasswordAuthentication(){   
            return new PasswordAuthentication(userName, password);   
        }   
    }   
    

    在SimpleMailSender中能够改动发送者的名称

    // 设置邮件消息的发送者    
          //mailMessage.setFrom(from);
          
          //设置自己定义发件人昵称
        	String nick="";
        	try {
        			nick=javax.mail.internet.MimeUtility.encodeText("刘鹏(这是通过代码向您的邮箱发送信息)");
        		} catch (Exception e) {
        			e.printStackTrace();
        		} 
          mailMessage.setFrom(new InternetAddress(nick+"<"+from+">")); 


     

  • 相关阅读:
    [rrdtool]监控和自己主动绘图,简单的监控.md
    64位Windows操作系统中的注冊表
    (转载)正向代理与反向代理的区别
    (转载)数据库表分割技术浅析(水平分割/垂直分割/库表散列)
    JavaWeb学习总结(四十九)——简单模拟Sping MVC
    JNDI学习总结(三)——Tomcat下使用Druid配置JNDI数据源
    JNDI学习总结(二)——Tomcat下使用C3P0配置JNDI数据源
    JNDI学习总结(一)——JNDI数据源的配置
    哈佛图书馆墙上的训言
    少走弯路的10条忠告
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5247774.html
Copyright © 2011-2022 走看看