包 javax.mail 和 javax.mail.internet 不存在

Posted

技术标签:

【中文标题】包 javax.mail 和 javax.mail.internet 不存在【英文标题】:package javax.mail and javax.mail.internet do not exist 【发布时间】:2011-09-30 04:41:46 【问题描述】:

当我编译一个包含以下 2 个导入语句的简单代码时:

import javax.mail.*

import javax.mail.internet.*

我收到以下消息:

package javax.mail does not exist

package javax.mail.internet does not exist

为什么会出现这个错误?

这是我的代码:

import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;

class tester 
 public static void main(String args[]) 
   Properties props = new Properties();
   props.put("mail.smtp.com" , "smtp.gmail.com");
   Session session  = Session.getDefaultInstance( props , null);
   String to = "me@gmail.com";
   String from = "from@gmail.com";
   String subject = "Testing...";
   Message msg = new MimeMessage(session);
    try 
      msg.setFrom(new InternetAddress(from));
      msg.setRecipient(Message.RecipientType.TO , new InternetAddress(to));
      msg.setSubject(subject);
      msg.setText("Working fine..!");
      catch(Exception exc) 
       
 

【问题讨论】:

【参考方案1】:

你需要下载JavaMail API,并将相关的jar文件放到你的classpath中。

【讨论】:

【参考方案2】:

Download javax.mail.jar 并使用以下步骤将其添加到您的项目中:

    解压 mail.jar 文件 右键单击项目节点(JavaMail),单击属性更改项目属性 现在转到库选项卡 单击添加 JAR/文件夹按钮。将打开一个窗口。 浏览到解压 Mail.jar 的位置 按确定 编译您的程序以检查 JAR 文件是否已成功包含

【讨论】:

您在哪里获取它的链接现在已经过时了。另外,它也不叫mail.jar,但我相信是javax.mail.jar。 . .如果它应该被称为 mail.jar,那实际上可能就是我偶然发现这个老问题的原因!【参考方案3】:

如果使用 maven,只需添加到您的 pom.xml:

<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.5.0-b01</version>
</dependency>

当然,你需要查看current version。

【讨论】:

【参考方案4】:

您需要javax.mail.jar 库。 从Java EE JavaMail GitHub page 下载它并将其添加到您的 IntelliJ 项目中:

    下载javax.mail.jar 导航到File &gt; Project Structure... 转到“库”选项卡 点击+按钮(添加新项目库) 浏览到javax.mail.jar 文件 单击“确定”应用更改

【讨论】:

他们将其发布到 maven mvnrepository.com/artifact/com.sun.mail/javax.mail【参考方案5】:

对于仍然希望使用上述 IMAP 库但需要使用 gradle 的任何人,只需将此行添加到您的模块 gradle 文件(不是主 gradle 文件)

compile group: 'javax.mail', name: 'mail', version: '1.4.1'

下载 .jar 文件的链接对我来说已经死了,所以不得不选择其他路线。

希望这会有所帮助:)

【讨论】:

【参考方案6】:

您可能没有必要的 .jar 文件来访问 Java Mail API。这些可以从here下载。

【讨论】:

【参考方案7】:

您需要 javax.mail.jar 库。从https://www.oracle.com/java/technologies/javamail-releases.html 下载它并将其添加到您的 Eclipse 项目中:

如果你使用的是 那么,

    右键单击项目,转到构建路径 -> 配置构建路径 -> 库 -> 模块路径 -> 添加外部 Jar。 浏览到 javax.mail.jar 文件 点击“应用并关闭”。

在 module-info.java 下,添加:

module TestApp 
    **requires mail;**

【讨论】:

【参考方案8】:

您必须像这样设置mail.jaractivation.jar 文件的类路径:

打开命令提示符:

c:\user>set classpath=%classpath%;d:\jarfiles\mail.jar;d:\jarfiles\activation.jar;.;

如果您没有这两个文件,请下载它们here

【讨论】:

【参考方案9】:

    Download Java 邮件罐。

    解压下载的文件。

    复制“.jar”文件并粘贴到ProjectName\WebContent\WEB-INF\lib文件夹中

    右键单击项目并转到属性

    选择 Java 构建路径,然后选择库

    添加 JAR...

    ProjectName\WebContent\WEB-INF\lib中选择.jar文件并点击确定

    就是这样

【讨论】:

【参考方案10】:

有同样的问题。显然,这些 .jar 已包含在 Java

【讨论】:

【参考方案11】:

您需要 mail.jar 和 activation.jar 来构建 javamail 应用程序

【讨论】:

我在javamail api中没有找到activation.jar。但是我的程序现在没有错误了! ?? @grassPro 和未来的推荐人:“注意:除非您使用 Java SE 6 或更新版本,否则您还需要提供 javax.activation 包的 JavaBeans Activation Framework (JAF) 扩展。”这篇笔记来自 Oracle 的网站 @Viren ...这个“激活包”还需要吗?该项目现在是一个开源项目,独立于 Oracle,我没有在材料中看到它的提及,但是,我第一个尝试使用它的项目还没有工作!【参考方案12】:

从http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-eeplat-419426.html#javamail-1.4.5-oth-JPR下载“javamail1_4_5.zip”文件

解压 zip 文件并将相关的 jar 文件(“mail.jar”)放在类路径中

【讨论】:

【参考方案13】:

我刚刚自己解决了这个问题,希望对您有所帮助。我的项目使用 JDK 1.8JavaEE 7GlassFish 4Eclipse MARS 上运行。

首先,您可以在提取的glassfish文件夹中找到javax.mail.jarglassfish4-&gt;glassfish-&gt;modules

接下来,在 Eclipse 中,在资源管理器中右键单击您的项目并导航到以下内容:Properties-&gt;Java Build Path-&gt;Libraries-&gt;Add External JARs-&gt; 转到上述文件夹以添加 javax.mail.jar

【讨论】:

以上是关于包 javax.mail 和 javax.mail.internet 不存在的主要内容,如果未能解决你的问题,请参考以下文章

学习笔记——mail发送javax.mail.AuthenticationFailedException: failed to connect at javax.mail.Service.connec

如何解决 javax.mail.AuthenticationFailedException 问题?

找不到所需的类(javax.activation.DataHandler 和 javax.mail.internet.MimeMultipart)。附件支持已禁用

使用 base 64 编码的 javax.mail.Authenticator

Spring发送邮件_javax.mail.AuthenticationFailedException异常已解决

javax.mail.AuthenticationFailedException:连接失败,没有指定密码?