首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javax.mail.NoSuchProviderException: smtps没有提供程序

javax.mail.NoSuchProviderException: smtps没有提供程序
EN

Stack Overflow用户
提问于 2013-06-01 00:08:20
回答 9查看 57.7K关注 0票数 11

我正在尝试设置我的Java项目,使其能够发送电子邮件(如果有必要的话,可以通过g-mail ),并且每次我尝试运行下面的代码行(从他们的示例中复制/粘贴)时,都会得到"javax.mail.NoSuchProviderException: No provider for smtps“。

代码语言:javascript
复制
Transport transport = session.getTransport("smtps");

我环顾四周,发现这通常会被抛出,因为您的类路径中没有包含mail.jar,但我确实包含了mail.jar。因为我运行的是JDK1.6,所以根据这里的常见问题解答(http://www.oracle.com/technetwork/java/javamail/faq-135477.html#classpath),我不需要包含activation.jar。此外,activation.jar似乎不存在于javamail1.4.7版本中。

为了防止损坏,我从oracle网站重新下载了整个压缩包,将其解压并重新添加了jar包(在删除旧jar包之后),但我仍然收到相同的错误。在这一点上,有什么想法可能是问题吗?

编辑:下面是正在打印的完整堆栈跟踪:

代码语言:javascript
复制
javax.mail.NoSuchProviderException: No provider for smtps
    at javax.mail.Session.getProvider(Session.java:433)
    at javax.mail.Session.getTransport(Session.java:627)
    at javax.mail.Session.getTransport(Session.java:608)
... my code that calls getTransport() ...
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
... more of my code ...
    at java.lang.Thread.run(Thread.java:662)
EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2013-06-05 23:27:57

所以问题最终被证明是因为我引用的一个项目中包含了一个过时的mail.jar版本,在更新该mail.jar副本时,问题就解决了。

对于将来的参考,有没有办法记录或提供此类jar冲突的可见性?

https://confluence.atlassian.com/confkb/cannot-send-email-due-to-javax-mail-nosuchproviderexception-smtp-error-154079.html

票数 7
EN

Stack Overflow用户

发布于 2014-09-22 14:14:23

当您使用邮件API时,请确保您希望使用哪种协议?在这种情况下,您的eclipse项目缺少smtp.jar。

在邮件api中有几个用于不同协议的jars。例如: dsn.jar、gimap.jar、imap.jar、mailapi.jar、pop3.jar、smtp.jar

票数 8
EN

Stack Overflow用户

发布于 2015-09-07 18:29:18

以防有人犯了和我一样的错误:你必须使用小写字母才能使协议解析起作用。如果您键入SMTP而不是smtp作为协议名称,您将获得NoSuchProviderException。它很可能以同样的方式工作于所有其他提供商。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16861553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档