2011-04-11 35 views
3

即時通訊使用一個名爲的emailer類從Java應用程序發送電子郵件,
我使用的NetBeans 6.9.1,我使用J2SE,我下載了JavaMail API和添加的jar到classpath,也把它在netbeans的src中。Javax.mail。*包不存在 - 爲什麼?

Netbeans拋出一個錯誤說Package javax.mail does not exist,我不知道爲什麼?因爲我覺得我已經做了一切正確的,這裏是代碼

import java.util.*; 
import java.io.*; 
import java.util.logging.Level; 
import java.util.logging.Logger; 

import javax.mail.*; 
import javax.mail.internet.*; 

/** 
* Simple demonstration of using the javax.mail API. 
* 
* Run from the command line. Please edit the implementation 
* to use correct email addresses and host name. 
*/ 
public final class Emailer { 

    public static void main(String... aArguments){ 
    Emailer emailer = new Emailer(); 
     try { 

      emailer.sendEmail("[email protected]", "[email protected]", "Testing 1-2-3", "blah blah blah"); 
     } catch (ClassNotFoundException ex) { 
      Logger.getLogger(Emailer.class.getName()).log(Level.SEVERE, null, ex); 
     } 
    } 


    public void sendEmail(String aFromEmailAddr, String aToEmailAddr, 
    String aSubject, String aBody) throws ClassNotFoundException 
    { 
     Class.forName("javax.mail"); 

    Session session = Session.getDefaultInstance(fMailServerConfig, null); 
    MimeMessage message = new MimeMessage(session); 
    try { 

     message.addRecipient(
     Message.RecipientType.TO, new InternetAddress(aToEmailAddr) 
    ); 
     message.setSubject(aSubject); 
     message.setText(aBody); 
     Transport.send(message); 
    } 
    catch (MessagingException ex){ 
     System.err.println("Cannot send email. " + ex); 
    } 
    } 


    public static void refreshConfig() { 
    fMailServerConfig.clear(); 
    fetchConfig(); 
    } 



    private static Properties fMailServerConfig = new Properties(); 

    static { 
    fetchConfig(); 
    } 


    private static void fetchConfig() { 
    InputStream input = null; 
    try { 

     input = new FileInputStream("C:\\Temp\\MyMailServer.txt"); 
     fMailServerConfig.load(input); 
    } 
    catch (IOException ex){ 
     System.err.println("Cannot open and load mail server properties file."); 
    } 
    finally { 
     try { 
     if (input != null) input.close(); 
     } 
     catch (IOException ex){ 
     System.err.println("Cannot close mail server properties file."); 
     } 
    } 
    } 
} 

如何解決這個問題?

+1

這聽起來像netbeans中的項目配置仍然沒有正確設置。 – 2011-04-11 11:25:19

+0

將它添加到您的構建路徑? – 2011-04-11 11:25:34

+1

您需要右鍵單擊項目選項卡中的項目名稱,然後轉到屬性 - >庫 - >按添加Jar/Folder ...瀏覽並選擇您的jar ...然後單擊確定...並構建並重新編譯。運行 – 2011-04-11 11:25:47

回答

-1

你需要右鍵點擊項目選項卡中的項目名稱去

屬性 - >圖書館 - >按添加 JAR /文件夾

...瀏覽並選擇你的罐子...,然後單擊OK ......和

清理並生成並重新運行

+1

@ThreaT如果你仔細看看** QUESTION **,OP會提到「_I下載了javamail api並添加了jar_」所以它的理解是這個答案所指的是哪個jar ......並且萬一你不要不知道這適用於您添加到項目中的任何jar文件 – 2013-08-24 22:03:02

+1

從此處下載需要添加的jar:http://www.oracle.com/technetwork/java/index-138643.html – ThreaT 2013-08-25 20:50:20

3

將javax.mail.jar和activation.jar添加到 轉到您的項目 - >構建路徑 - >配置構建路徑 - > Java構建路徑 - >庫。

相關問題