2011-04-11 17 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构建路径 - >库。

相关问题