Javax.mail.* 包不存在 - 为什么?

标签 java jakarta-mail

我正在使用一个名为 emailer 的类从 Java 应用程序发送电子邮件,
我正在使用 netbeans 6.9.1 并且正在使用 J2SE,我下载了 javamail api 并将 jar 添加到 classpath 并将其放入 src 用于 netbeans。

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("fromblah@blah.com", "toblah@blah.com", "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." );
      }
    }
  }
}

如何解决?

最佳答案

添加javax.mail.jar和activation.jar到 转到您的项目 -> 构建路径 -> 配置构建路径 -> Java 构建路径 -> 库。

关于Javax.mail.* 包不存在 - 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5620553/

相关文章:

java - 使用 Boxlayout 导致我的面板只有父面板大小的一半

java - 使用 MS Exchange SMTP 服务器发送邮件的时间太多

java - 是否可以在不启动相应应用程序的情况下在android中发送电子邮件?

java - 使用 telnet 时 MimeMessage 为空?

java - 使用 MultipartFile 发送带有多个附件的电子邮件

java - 在android中对字符串数组列表进行排序

java - 独立迭代时,无序 HashMap 中的键和值是否对齐?

java - JFace FontRegistry 上的 NoClassDefFoundError

java - 我试图使用 CountDownTimer 每秒将值放入数组中,但它不起作用

java - 从 MS Exchange 检索附件的最佳方式