乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Java發(fā)送郵件(圖片、附件、HTML)

       路人甲Java 2020-01-14

      文章目錄

        • 一、簡介
        • 二、郵箱服務授權配置
        • 二、pom.xml依賴
        • 三、properties配置文件
        • 四、發(fā)送普通郵件
            • 1、web層代碼
            • 2、Service代碼
        • 二、發(fā)送Html格式郵件
            • 1、Web層代碼
            • 2、Service代碼
        • 三、發(fā)送Html帶圖片郵件
            • 1、Web層代碼
            • 2、Service層代碼
            • 3、封裝圖片路徑的實體類
        • 四、發(fā)送帶附件郵件
            • 1、Web層代碼
            • 2、Service層代碼
        • 八、完整代碼
            • 1、Web層代碼
            • 2、Service層代碼


      一、簡介

      要在網絡上實現郵件功能,必須要有專門的郵件服務器。這些郵件服務器類似于現實生活中的郵局,它主要負責接收用戶投遞過來的郵件,并把郵件投遞到郵件接收者的電子郵箱中。

      SMTP服務器地址:

      一般是 smtp.xxx.com,比如163郵箱是smtp.163.com,qq郵箱是smtp.qq.com。

      SMTP協(xié)議:

      通常把處理用戶smtp請求(郵件發(fā)送請求)的服務器稱之為SMTP服務器(郵件發(fā)送服務器)。
      163郵箱

      POP3協(xié)議

      通常把處理用戶pop3請求(郵件接收請求)的服務器稱之為POP3服務器(郵件接收服務器)。

      二、郵箱服務授權配置

      163郵箱在:設置—POP3中,打開相應的配置屬性;

      QQ郵箱:設置—賬戶安全中,打開相應的配置信息;

      二、pom.xml依賴

         <!--郵件服務-->
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-mail</artifactId>
         </dependency>
      
         <dependency>
             <groupId>commons-net</groupId>
             <artifactId>commons-net</artifactId>
             <version>3.3</version>
         </dependency>
      

      三、properties配置文件

      #郵箱的賬號(163郵箱)
      spring.mail.host= smtp.163.com
      spring.mail.username=comlydms@163.com
      spring.mail.password=158143484fs
      spring.mail.properties.mail.smtp.auth=true
      spring.mail.properties.mail.starttls.enable=true
      spring.mail.properties.mail.starttls.required=true
      

      四、發(fā)送普通郵件

      1、web層代碼

          /**
           * 測試普通郵件調用
           */
          @RequestMapping(value = "/simpleEmail", method = {RequestMethod.POST})
          public ApiResult sendSimpleEmail() {
      
              mailService.sendSimpleMail("395096666@qq.com", "這是一個測試郵件", "這是一個測試郵件");
              return ApiResult.succ("調用成功");
          }
      

      2、Service代碼

          private final Logger logger = LoggerFactory.getLogger(this.getClass());
      
          @Autowired
          private JavaMailSender sender;
      
          @Value("${spring.mail.username}")
          private String fromMail;
      
          /**
           * 發(fā)送普通郵件
           *
           * @param toMail  收件方
           * @param subject 標題
           * @param content 郵件內容
           */
          public void sendSimpleMail(String toMail, String subject, String content) {
              SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
              simpleMailMessage.setFrom(fromMail);
              simpleMailMessage.setTo(toMail);
              simpleMailMessage.setSubject(subject);
              simpleMailMessage.setText(content);
              try {
                  sender.send(simpleMailMessage);
                  logger.info("發(fā)送給:{}簡單郵件已經發(fā)送。 subject:{}", toMail, subject);
              } catch (Exception e) {
                  logger.info("發(fā)送給:{}send mail error subject:{}", toMail, subject);
                  e.printStackTrace();
              }
          }
      

      二、發(fā)送Html格式郵件

      1、Web層代碼

         /**
           * 測試Html格式調用
           */
          @RequestMapping(value = "/htmlEmail", method = {RequestMethod.POST})
          public ApiResult sendHtmlEmail() {
      
      //        1、拼接模擬的數據
              English english = new English();
              english.setEnglish("my");
              english.setChinese("我的");
              english.setCodechinese("自己的東西");
              ArrayList<English> en = new ArrayList<>();
              en.add(english);
              en.add(english);
      
      //        2.1、寫html開始內容
              String start = "<!DOCTYPE html><html><head><meta charset=\"utf-8\"><title></title></head><body><font color=\"red\">定時發(fā)送</font><table border=\"1\"><tr><th>英文</th><th>標準注解</th><th>代碼中注解</th></tr>";
      //        2-2、表html中間內容
              String prime = "";
              for (int i = 0; i < en.size(); i++) {
                  English english1 = en.get(i);
                  String center = "<tr><td>English</td><td>Chinese</td><td>CodeChinese</td></tr>";
                  String one = center.replaceFirst("English", english1.getEnglish());
                  String two = one.replaceFirst("Chinese", english1.getChinese());
                  String result = two.replaceFirst("CodeChinese", english1.getCodechinese());
                  prime = prime + result;
      
              }
      //        2-3、寫html結尾內容
              String end = "</table></body></html>";
      //        3、拼接html
              String html = start + prime + end;
      //        4、發(fā)送郵件
              mailService.sendHtmlMail("395096666@qq.com", "定時郵件發(fā)送", html);
      
              return ApiResult.succ("調用成功");
          }
      

      2、Service代碼

          private final Logger logger = LoggerFactory.getLogger(this.getClass());
      
          @Autowired
          private JavaMailSender sender;
      
          @Value("${spring.mail.username}")
          private String fromMail;
      
          /**
           * 發(fā)送帶Html格式郵件
           *
           * @param toMail  收件方
           * @param subject 標題
           * @param content 郵件內容
           */
          public void sendHtmlMail(String toMail, String subject, String content) {
      //        1、封裝數據
              MimeMessage mimeMessage = sender.createMimeMessage();
              try {
                  MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true);
                  mimeMessageHelper.setTo(toMail);
                  mimeMessageHelper.setFrom(fromMail);
                  mimeMessageHelper.setText(content, true);
                  mimeMessageHelper.setSubject(subject);
      
      //            2、發(fā)送郵件
                  sender.send(mimeMessage);
                  logger.info("發(fā)送給:{}html郵件已經發(fā)送。 subject:{}", toMail, subject);
              } catch (Exception e) {
                  logger.info("發(fā)送給:{}html send mail error subject:{}", toMail, subject);
                  e.printStackTrace();
              }
          }
      

      三、發(fā)送Html帶圖片郵件

      1、Web層代碼

         /**
           * 測試Html帶圖片
           */
          @RequestMapping(value = "/htmlPotoEmail", method = {RequestMethod.POST})
          public ApiResult sendHtmlPoto() {
      //        1、創(chuàng)建html格式的數據
              String html = "<!DOCTYPE html>\r\n" +
                      "<html>\r\n" +
                      "<head>\r\n" +
                      "<meta charset=\"UTF-8\">\r\n" +
                      "<title>Insert title here</title>" +
                      "\r\n" +
                      "</head>\r\n" +
                      "<body>\r\n" +
                      "<img src=\"cid:image1\"/> " +
                      "<img src=\"cid:image2\"/> " +
                      "	<font color=\"red\">發(fā)送html</font>\r\n" +
                      "</body>\r\n" +
                      "</html>";
      //        2、封裝html中的圖片數據
              List<InlineResource> list = new ArrayList<>();
      //        2-1獲取圖片的地址
              String path = WordSmsController.class.getClassLoader().getResource("image.jpg").getPath();
      //        2-2、將圖片的地址封裝到實體類中
              InlineResource resource = new InlineResource("image1", path);
              InlineResource resource2 = new InlineResource("image2", path);
              list.add(resource2);
              list.add(resource);
      
      //        3、發(fā)送郵件
              mailService.sendHtmlPhotoMail("395096666@qq.com", "這是一個測試郵件", html, list);
      
              return ApiResult.succ("調用成功");
          }
      
      

      2、Service層代碼

          private final Logger logger = LoggerFactory.getLogger(this.getClass());
      
          @Autowired
          private JavaMailSender sender;
      
          @Value("${spring.mail.username}")
          private String fromMail;
      
         /**
           * 發(fā)送靜態(tài)資源(一般是圖片)的郵件
           *
           * @param
           * @param subject
           * @param content 郵件內容,需要包括一個靜態(tài)資源的id,比如:<img src=\"cid:image\" >
           * @param
           */
          public void sendHtmlPhotoMail(String to, String subject, String content, List<InlineResource> resourceist) {
      
      //            1、編寫發(fā)送的數據
              MimeMessage me

        本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多