Javax.mail. * Пакет не существует - почему? - PullRequest
3 голосов
/ 11 апреля 2011

Я использую класс 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." );
      }
    }
  }
}

Как это решить?

Ответы [ 2 ]

3 голосов
/ 23 ноября 2016

Добавьте javax.mail.jar и активации.jar в Перейдите в ваш проект -> Путь сборки -> Настроить путь сборки -> Путь сборки Java -> библиотеки.

0 голосов
/ 11 апреля 2011

Вам нужно щелкнуть правой кнопкой мыши по названию проекта на вкладке проекта и перейти к

Свойства-> Библиотеки -> Нажмите Добавить Jar / Папка

... Найдите и выберите банку ... и нажмите OK ... и

Очистка, сборка и повторный запуск

...