获取 jakarta.mail.Session 对象的实例时出现 IllegalStateException

Per*_*agg 18 jakarta-mail

我是 jakarta.mail 的新手。为 jakarta.mail 创建 Session 对象时出现以下错误。

java.lang.IllegalStateException: Not provider of jakarta.mail.util.StreamProvider was found
Run Code Online (Sandbox Code Playgroud)

StreamProvider类的provider方法调用FactoryFinder类的find方法时抛出错误,似乎没有可用的服务提供者?不知道这意味着什么,是编写电子邮件通知代码的新手。

验证器为空,端口为 25。

Rob*_*ein 28

看来您仅链接到 jakarta.mail-api 库,该库仅包含API,而不包含实际实现。在 Maven POM 文件中尝试类似的操作。

请注意包含org.eclipse.angus:jakarta.mail依赖项。

        <!-- Jakarta email support -->
        <!-- https://jakarta.ee/specifications/mail/ -->
        <!-- https://github.com/jakartaee/mail-api -->
        <dependency>
            <groupId>jakarta.mail</groupId>
            <artifactId>jakarta.mail-api</artifactId>
            <version>2.1.0</version>
            <scope>provided</scope>
        </dependency>
        <!-- https://github.com/eclipse-ee4j/angus-mail -->
        <dependency>
            <groupId>org.eclipse.angus</groupId>
            <artifactId>jakarta.mail</artifactId>
            <version>1.0.0</version>
        </dependency>
Run Code Online (Sandbox Code Playgroud)