2012-04-12 89 views
-1

我正在開發升級跟蹤系統。在我的應用程序中,我必須發送電子郵件通知(自動取決於某些標準),如果期限正在接近某些升級。這是一個基於Web的應用程序。我使用servlet jsp。任何人都可以告訴我如何實現電子郵件通知的東西。在java中的電子郵件通知

thanx提前!

+0

如果您想自動執行此操作,您需要在您的Web服務器上設置一個可以按期望間隔(可能每天?)運行代碼的計時器。不過,您使用計時器的確切選項取決於您使用的Web服務器。 – 2012-04-12 08:58:38

+0

嗨安東尼,即時通訊使用APACHE TOMCAT,它處理?如果是的話,你可以解釋如何配置。 – milind 2012-04-12 09:02:56

+0

您可以在Tomcat中設置一個計時器,但我沒有使用它,因此我無法幫助您爲它配置一個計時器 - Google將成爲您的朋友。 – 2012-04-12 09:36:04

回答

0

您可以使用Java Mail API來實現這一點。請按照以下步驟在您的代碼中發送電子郵件。

  1. 設置SMTP主機屬性

    Properties props = System.getProperties(); 
        props.put("mail.smtp.host", yoursmtpServer); 
    
  2. 獲取會話

    Session session = Session.getDefaultInstance(props, null); 
    
  3. 創建信息並設置發件人和reciever

    Message msg = new MimeMessage(session); 
        msg.setFrom(new InternetAddress(from)); 
        msg.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to, false)); 
    
  4. 硒牛逼主題和其他詳細信息,然後發送

    msg.setSubject(subject); 
        msg.setText(body); 
    // -- Set some other header information -- 
        msg.setHeader("X-Mailer", "ABCMail"); 
        msg.setSentDate(new Date()); 
    // -- Send the message -- 
        Transport.send(msg); 
    

我認爲這將幫助你。

編輯:您可以使用Servlet過濾器或任何計時器來檢查邏輯。

定時器邏輯。

  • 使用ScheduledThreadPoolExecutor來實現您的計時器。
  • 通過實現Runnable創建您的任務。 (),
  • 把你的邏輯運行()
  • timer.schedule(task,1,TimeUnit.DAYS);