Java 邮件应用程序

问题描述 投票:0回答:3

我只是想用 Java 创建一个简单的邮件应用程序。 并且已经找到了如何编码,但我的导入似乎有一些问题。

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

IntelliJ 建议将 Jave EE 6 JAR 添加到模块依赖项中。但这并没有帮助!也许你知道该怎么做。

java email import dependencies
3个回答
5
投票

Mustafa 的答案似乎是正确的,但已经过时了。

雅加达EE

JavaEEOracle Corporation 所有。 JavaMail 是 JavaEE 的一部分,JavaEE 是其中的几十种技术之一。

几年前,Oracle 将所有权转让给

Eclipse 基金会

    名称从
  • JavaEE 更改为 Jakarta EE
  • JavaMail更名为Jakarta Mail
  • 在最新版本中,
  • 软件包名称已从 javax.* 更改为
    jakarta.*
    
    
雅加达邮件

规格

查找

Jakarta Mail 规格列表

。当前版本是 Jakarta Mail 2.0 实施

至少存在一种实现:

Eclipse Jakarta Mail 其他人也可以自由编写实现。不知道有没有人有。

示例

我自己没有使用过雅加达邮件,但你的问题让我很好奇。所以我添加了这个依赖:

<!-- https://mvnrepository.com/artifact/com.sun.mail/jakarta.mail --> <dependency> <groupId>com.sun.mail</groupId> <artifactId>jakarta.mail</artifactId> <version>2.0.1</version> </dependency>

…进入这个 Maven POM:

<?xml version="1.0" encoding="UTF-8"?> <project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>work.basil.example</groupId> <artifactId>JMail</artifactId> <version>1.0-SNAPSHOT</version> <name>JMail</name> <!-- FIXME change it to the project's website --> <url>http://www.example.com</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.release>17</maven.compiler.release> </properties> <dependencies> <!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api --> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>5.8.1</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/com.sun.mail/jakarta.mail --> <dependency> <groupId>com.sun.mail</groupId> <artifactId>jakarta.mail</artifactId> <version>2.0.1</version> </dependency> </dependencies> <build> <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) --> <plugins> <!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle --> <plugin> <artifactId>maven-clean-plugin</artifactId> <version>3.1.0</version> </plugin> <!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging --> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>3.2.0</version> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>3.0.0-M5</version> </plugin> <plugin> <artifactId>maven-jar-plugin</artifactId> <version>3.2.0</version> </plugin> <plugin> <artifactId>maven-install-plugin</artifactId> <version>3.0.0-M1</version> </plugin> <plugin> <artifactId>maven-deploy-plugin</artifactId> <version>3.0.0-M1</version> </plugin> <!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle --> <plugin> <artifactId>maven-site-plugin</artifactId> <version>3.9.1</version> </plugin> <plugin> <artifactId>maven-project-info-reports-plugin</artifactId> <version>3.1.2</version> </plugin> </plugins> </pluginManagement> </build> </project>

...创建一个小项目。我从 
here

添加了

Registry
类,here 提供了链接。 小提示:我修复了一个拼写错误,根据 Java 命名约定将类名从

registry

更改为

Registry
注意该文件的导入使用 

jakarta.*

包命名。

import java.util.*;

import jakarta.mail.*;
import jakarta.mail.internet.*;

那个
Registry

类可以编译,但我没有运行它。

部署

如果您正在编写独立应用程序,则需要

包含一个包含实现的 JAR

。您可以将该 JAR 作为应用程序的一部分发布,前提是您可以遵守其许可证。 如果您正在编写要部署在 Jakarta EE 服务上的 Web 应用程序或 Web 服务,那么您需要更改您的

Maven POM 以单独使用 Jakarta Mail APIs

而无需实现。该实现将由您选择用于部署的 Jakarta EE 兼容服务器产品在运行时提供。


2
投票
下载 JavaMail 版本

此外,JavaMail jar 文件发布到 Maven 存储库。主要的 JavaMail jar 文件,这是所有大多数应用程序 需要,可以使用此 Maven 依赖项包含:

如果您使用 Maven,

<dependencies> <dependency> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</artifactId> <version>1.6.2</version> </dependency> </dependencies>

您可以在 java.net Maven 中找到所有 JavaMail jar 文件
存储库,以及 Maven Central。

否则下载 javax.mail jar 并将其添加到您的库/类路径中:

https://maven.java.net/content/repositories/releases/com/sun/mail/javax.mail/1.6.2/javax.mail-1.6.2.jar


0
投票

© www.soinside.com 2019 - 2024. All rights reserved.