亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

檢查條件并在java中發送郵件

檢查條件并在java中發送郵件

精慕HU 2022-06-15 14:46:10
我需要通過 java 發送郵件檢查文件夾如果該文件夾中沒有文件發郵件說文件夾是空的我嘗試了使用計劃發送郵件的代碼,每 2 秒發送一封郵件并在 2 秒后停止,但不知道如何檢查條件我有三個類郵件發件人、主要和計劃任務有人可以幫忙嗎??提前致謝?。。。ailSender.javapublic class MailSender {    public static void send(String string, String messageString, String msgSubject) throws Exception {      // Sender's email ID needs to be mentioned      String from = "[email protected]";      // Assuming you are sending email from localhost      String host = "localhost";      String port = "25";      // Get system properties      Properties properties = System.getProperties();      // Setup mail server      properties.setProperty("mail.smtp.host", host);      properties.setProperty("mail.smtp.port", port);            // Get the default Session object.      Session session = Session.getDefaultInstance(properties);      try{         // Create a default MimeMessage object.         MimeMessage message = new MimeMessage(session);         // Set From: header field of the header.         message.setFrom(new InternetAddress(from));         // Set To: header field of the header.         message.addRecipient(Message.RecipientType.TO, new InternetAddress(string));         // Set Subject: header field         message.setSubject(msgSubject);         // Create the message part          BodyPart messageBodyPart = new MimeBodyPart();         // Fill the message         messageBodyPart.setText(messageString);         messageBodyPart.setFileName("xyz.png");         // Create a multi-part message         Multipart multipart = new MimeMultipart();         // Set text message part         multipart.addBodyPart(messageBodyPart);         message.setContent(messageString, "text/html; charset=utf-8");        MimeMessage message1 = new MimeMessage(session);        message1.setContent        ("<h1>This is a test</h1>"          + "</images/zyx.png\">",          "text/html");         // Send message         Transport.send(message);      }catch (MessagingException mex) {         mex.printStackTrace();      }   }
查看完整描述

3 回答

?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

在您的 MainClass for 循環中,您可以檢查目錄狀態并發送電子郵件,如下所示。


File file = new File("Path to your directory for ex. C:\\folder");

if(file.isDirectory()){

    if(file.list().length==0){

        MailSender.send("[email protected]", "Folder is empty", "Folder status");

    }

}


查看完整回答
反對 回復 2022-06-15
?
HUWWW

TA貢獻1874條經驗 獲得超12個贊

您可以使用類打開目錄FilelistFiles對其進行操作。如果 listFiles 沒有返回任何內容,則該目錄為空。

更好的方法可能是注冊文件系統通知,以便每當創建文件時都會通知您,而不必每 2 秒嘗試一次。

https://docs.oracle.com/javase/tutorial/essential/io/notification.html


查看完整回答
反對 回復 2022-06-15
?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

您可以使用java.nio實用程序來檢查文件夾/文件。通過將文件夾路徑作為方法參數傳遞來調用sendMailWhenNoFilesExist您的方法(如下) 。MainClass


import java.nio.file.Files;

import java.nio.file.Paths;

.

.


private void sendMailWhenNoFilesExist(String folderPath) throws IOException {

    if(Files.isDirectory(Paths.get(folderPath))

            && Files.list(Paths.get(folderPath)).count() == 0) {

        MailSender.send("[email protected]", "Message body", "Message subject");

    }

}


查看完整回答
反對 回復 2022-06-15
  • 3 回答
  • 0 關注
  • 129 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號