zoukankan      html  css  js  c++  java
  • java 邮件(2)

    /**
      * 方法描述:发送带附件的邮件
      *
      * @throws UnsupportedEncodingException
      */
      public static boolean sendEmailWithAttachment(Email email)
          throws UnsupportedEncodingException {
        Properties prop = new Properties();
        prop.put("mail.smtp.host", mailServer);
        prop.put("mail.smtp.auth", "true");
        Authenticator auth = new MailAuthenticator();
        Session session = Session.getDefaultInstance(prop, auth);
        Message message = new MimeMessage(session);
        boolean flag = false;
        try {
          message.setSubject(email.getEmail_subject());// 设置邮件主题
          message.setHeader("Header:", email.getEmail_header()); // 设置邮件标题
          message.setSentDate(new Date()); // 设置发送时间
          Address addressFrom = new InternetAddress(mailAddress, mailAccount); // 设置发信人地址
          message.setFrom(addressFrom);
          BodyPart messageBodyPart = new MimeBodyPart();
          messageBodyPart.setContent(email.getEmail_content(),  "text/html;charset=utf-8");
          Multipart multipart = new MimeMultipart();
          multipart.addBodyPart(messageBodyPart);
          MimeBodyPart mimeBodyPart;
          //多个附件
          for (int i = 0; i < email.getEmail_file().size(); i++) {
            Map<String, String> map = email.getEmail_file().get(i);
            String fileSource="";
            String fileName="";
            for (String key : map.keySet()) {
              fileSource = key;
              fileName = map.get(key);
              }
            mimeBodyPart = new MimeBodyPart();
            DataSource source = new FileDataSource(fileSource);
            mimeBodyPart.setDataHandler(new DataHandler(source));
            mimeBodyPart.setFileName(MimeUtility.encodeText(fileName));
            multipart.addBodyPart(mimeBodyPart);// Put parts in
          }
          message.setContent(multipart);
         
          // 设置多个收件人地址
          List<String> list = email.getEmail_to();
          String toAddress = SendEmail.getAddress(list);
         
          InternetAddress[] internetAddressTo = new InternetAddress().parse(toAddress);
          message.setRecipients(Message.RecipientType.TO, internetAddressTo);

          // 设置多个抄送地址
          String ccAddress = SendEmail.getAddress(email.getEmail_cc());
          InternetAddress[] internetAddressCC = new InternetAddress().parse(ccAddress);
          message.setRecipients(Message.RecipientType.CC, internetAddressCC);
         
          message.saveChanges();
          System.out.println("开始发送邮件……");

          Transport.send(message);
          System.out.println("发送成功!");
          flag = true;
        } catch (MessagingException e) {
          System.out.println("发送失败!");
          flag = false;
          e.printStackTrace();

        }
        return flag;
      }

  • 相关阅读:
    javascript中的screen对象
    javascript的navigator对象
    Javascript的location对象
    javascript 关于闭包的知识点
    微信小程序教程(第三篇)
    微信小程序----关于变量对象data 和 前端wxml取后台js变量值
    微信小程序教程(第四篇)
    微信小程序教程(第二篇)
    微信小程序教程(第一篇)
    操作文件的方法
  • 原文地址:https://www.cnblogs.com/northeastTycoon/p/5911736.html
Copyright © 2011-2022 走看看