【问题标题】:DSpace: Java mail doesn't work in the company's networkDSpace:Java 邮件在公司网络中不起作用
【发布时间】:2015-02-02 08:00:12
【问题描述】:

我将 Dspace 设置为使用我公司的电子邮件服务器发送电子邮件,DSpace 使用 javax.mail 来执行此操作。

当我尝试在公司网络之外发送电子邮件时,电子邮件发送成功,但在公司网络中却没有发送电子邮件。

按照显示的错误消息:

错误:javax.mail.MessagingException:异常读取响应;
嵌套异常是:javax.net.ssl.SSLException: Unrecognized SSL 消息,明文连接?

(1) 途中没有代理
(2) 我尝试使用 gmail 发送,但我遇到了同样的情况
(3) 我发现的唯一相关线程是通过代理设置解决的,但是因为 (1) 这不是解决方案 (Java mail doesn't work in the company's network)
(4) 使用的门 (587) 与 Thunderbird 中的配置相同,在我公司的网络内外都很好用。

多么麻烦啊!!! O.O

如果有人能帮忙,那就太好了!

非常感谢!

【问题讨论】:

  • 如果您可以使用 Thunderbird 发送邮件(我想您可以...),那么您应该可以使用 javamail 发送邮件如果您使用完全相同的配置。注意点:邮件服务器(!)、端口、安全选项(SSL 套接字、STARTTLS、身份验证)。
  • @SergeBallesta 我正在使用与您建议的相同的配置。它在公司网络之外工作,但将问题带到公司的上下文中。如果配置错误,邮件也不会发送到公司之外,对吧?谢谢回复!
  • SMTP 是一个很好的复杂协议,在中继中有许多选项。当您说它在公司网络之外工作时,是指公司外部地址还是来自公司网络外部的机器?主要问题:您使用的邮件服务器在哪里:公司网络外部还是内部?
  • @SergeBallesta 我在笔记本电脑上运行 DSpace,所以我指的是连接公司网络或外部(我家)上的服务器。但是公司的邮件服务器当然一直在公司的网络中。
  • 我想服务器对于来自内部和外部的内容有不同的配置。但如果客户端配置相同,javamail 和 Thunderbird 之间应该没有区别。您没有在雷鸟(公司网络内部)中进行身份验证吗?

标签: java jakarta-mail dspace private-network


【解决方案1】:

我在另一个引导我的帖子中找到了answer

Javamail 非 ssl 属性是:

Properties props = new Properties();
props.put("mail.smtp.user", "email@mydomain.com");
props.put("mail.smtp.password", "password");
props.put("mail.smtp.protocol", "smtp");
props.put("mail.smtp.host", "smtp.mydomain.com");
props.put("mail.smtp.port", "25");
props.put("mail.smtp.starttls.enable","false");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.socketFactory.port", "25");
props.put("mail.smtp.socketFactory.class", "");
props.put("mail.smtp.socketFactory.fallback", "false");

我更改为 DSpace start send email 的唯一属性是 mail.smtp.socketFactory.class="",之前是 "javax.net.ssl.SSLSocketFactory"。

不幸的是,我仍然不明白为什么以前的设置在公司网络之外有效,可能是某些规则阻止了 ssl 连接。

@SergeBallesta:感谢您的帮助!

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-02
  • 2021-02-20
  • 1970-01-01
  • 2020-10-07
  • 1970-01-01
  • 2015-04-23
相关资源
最近更新 更多