zoukankan      html  css  js  c++  java
  • 发邮件 和 excel导出中文文件名

    /**
         * 发邮件
         * @param email
         * @param subject
         * @param body
         * @throws UnsupportedEncodingException
         */
        public static void sendEmail(String email, String subject, String body)
                throws UnsupportedEncodingException,NoSuchProviderException,MessagingException,Exception {
            try {
                Properties props = new Properties();
                String server=getPropertiesByKey("mail.smtp.host");
                System.out.println("server:"+server);
                props.put("mail.smtp.host", server);
                props.put("mail.smtp.port", "25");
                props.put("mail.smtp.auth", "true");
                String user=getPropertiesByKey("mail.sendemail");
                String password=getPropertiesByKey("mail.password");
                String from=getPropertiesByKey("mail.senduser"); 
                Transport transport = null;
                Session session = Session.getDefaultInstance(props, null);
                transport = session.getTransport("smtp");
                transport.connect(server, user, password);
                MimeMessage msg = new MimeMessage(session);
                msg.setSentDate(new Date());
                InternetAddress fromAddress = new InternetAddress(user, from,
                        "UTF-8");
                msg.setFrom(fromAddress);
                
                String[] emails=email.split(";");
                
                InternetAddress[] toAddress = new InternetAddress[emails.length];
                for(int i=0;i<emails.length;i++){
                    toAddress[i] = new InternetAddress(emails[i]);    
                }
                
                msg.setRecipients(Message.RecipientType.TO, toAddress);
                //System.out.println("subject:"+subject);
                msg.setSubject(subject, "UTF-8");
                
                Multipart mainPart=new MimeMultipart();
                //创建一个包含Html内容的MimeBodyPart
                MimeBodyPart htmlText=new MimeBodyPart();
                //设置HTML内容
                htmlText.setContent(body,"text/html;charset=utf-8");  //"text/html;charset=utf-8"
                mainPart.addBodyPart(htmlText);
    
                msg.setContent(mainPart);
                
                //msg.setText(body, "UTF-8");
                //msg.saveChanges();
                //transport.sendMessage(msg, msg.getAllRecipients());
                transport.sendMessage(msg, msg.getAllRecipients());
            } catch (NoSuchProviderException e) {
                e.printStackTrace();
                throw e;
            } catch (MessagingException e) {
                e.printStackTrace();
                throw e;
            }catch (Exception e) {
                e.printStackTrace();
                throw e;
            }
        }
    /**
        * excel导出中文文件名
        * @param s
        * @return
        */
       public static String toUtf8String(String s) 
       {   
           StringBuffer sb = new StringBuffer();   
           for (int i=0;i<s.length();i++){   
           char c = s.charAt(i);   
           if (c >= 0 && c <= 255) {   
           sb.append(c);   
           } else {   
           byte[] b;   
           try {   
           b = Character.toString(c).getBytes("utf-8");   
           } catch (Exception ex) {   
           System.out.println(ex);   
           b = new byte[0];   
           }   
          for (int j = 0; j < b.length; j++) {   
           int k = b[j];   
           if (k < 0) k += 256;   
           sb.append("%" + Integer.toHexString(k).   
           toUpperCase());   
          }   
          }   
          }   
          return sb.toString();   
    }  
  • 相关阅读:
    一款垃圾的仿资源管理器+局域网Ping网段的工具(winform+异步线程) 留了问题
    ruby实现按键精灵的功能
    委托与事件 在.net的争霸战 ,你选择了谁?(异步委托产生的原因)
    小记C语言指针p与*p
    奔波的这 3月份
    ruby实现删除自定义后缀名文件Find
    "new" 出一个新未来——关于new的揭秘
    学了一招半式策略模式(设计模式)
    配置类的定义与使用
    js编写
  • 原文地址:https://www.cnblogs.com/W203654/p/3772748.html
Copyright © 2011-2022 走看看