zoukankan      html  css  js  c++  java
  • 使用java发送邮件sp自动发送邮件方法

    注意:将jar包复制到web-info文件夹下lib:

    activation.jar

    mail.jar

    //发送邮箱
     public static String sendEmail(String sendFrom,String sendTo,String passWord,String title,String count){
      try{
       
       String from =sendFrom.trim();//发送者
       String to =sendTo.trim();//接受者
       String subject =title.trim();//主题
       String content =count.trim();//内容
       String password =passWord.trim();//发送者邮箱密码
       String path="null";//附件的路径
       
       String mailserver ="smtp."+from.substring(from.indexOf('@')+1,from.length()); //在Internet上发送邮件时的代码(smtp服务器地址)

        Properties prop = new Properties();
        prop.put("mail.smtp.host", mailserver);
        prop.put("mail.smtp.auth", "true");
        prop.put("mail.transport.protocol", "smtp");
        Session sess = Session.getDefaultInstance(prop);
        sess.setDebug(true);
        MimeMessage message = new MimeMessage(sess);
        message.setFrom(new InternetAddress(from)); // 给消息对象设置发件人
        //设置收件人
        String toArr[]=to.split(",");
        InternetAddress[] to_mail=new InternetAddress[toArr.length];
        for(int i=0;i<toArr.length;i++){
         to_mail[i]=new InternetAddress(toArr[i]);
        }
           message.setRecipients(Message.RecipientType.BCC,to_mail);
        //设置主题
        message.setSubject(subject);
        Multipart mul = new MimeMultipart(); // 新建一个MimeMultipart对象来存放多个BodyPart对象
        BodyPart mdp = new MimeBodyPart(); // 新建一个存放信件内容的BodyPart对象
        mdp.setContent(content, "text/html;charset=gb2312");
        mul.addBodyPart(mdp); // 将含有信件内容的BodyPart加入到MimeMulitipart对象中
        
        if(!"null".equals(path)){ //当存在附件时
         // 设置信件的附件(用本机上的文件作为附件)
         mdp = new MimeBodyPart(); // 新建一个存放附件的BodyPart
         String adjunctname = new String(path.getBytes("GBK"), "ISO-8859-1"); // 此处需要转码,否则附件中包括中文时,将产生乱码   
         path = (System.getProperty("java.io.tmpdir") + "/" + path).replace(
           "\", "/");
         System.out.println("路径:" + path);
         FileDataSource fds = new FileDataSource(path);
         DataHandler handler = new DataHandler(fds);
         mdp.setFileName(adjunctname);
         mdp.setDataHandler(handler);
         mul.addBodyPart(mdp);
        }
        
        message.setContent(mul); // 把mul作为消息对象的内容
        message.saveChanges();
        
        Transport transport = sess.getTransport("smtp");
        // 以smtp方式登录邮箱,第1个参数是发送邮件用的邮件服务器SMTP地址,第2个参数为用户名,第3个参数为密码
        
        // qq邮箱POP3服务器(端口995)
        // SMTP服务器(端口465或587)


       
         transport.connect(mailserver,from,password);
         transport.sendMessage(message, message.getAllRecipients());
         
         transport.close();
        
       
       return "success";
      
      } catch (Exception e) {
      e.printStackTrace();
       
       return "error";
      }
     }

  • 相关阅读:
    Arduino
    DTU
    现代信号处理与应用
    matlab学习记录
    列车准点节能操纵
    泊松过程
    序号生成算法odoo
    操作系统特性
    c语言中的变量
    xml中的四则运算与时间爱格式
  • 原文地址:https://www.cnblogs.com/qgc88/p/3205118.html
Copyright © 2011-2022 走看看