java - DSpace:Java 邮件无法在公司网络中运行

标签 java jakarta-mail dspace private-network

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

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

遵循显示的错误消息:

Error: javax.mail.MessagingException: Exception reading response;
nested exception is: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?

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

多么神秘啊! O.O

如果有人能提供帮助,那就太好了!

非常感谢!

最佳答案

我发现了一个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 开始发送电子邮件的唯一属性是 mail.smtp.socketFactory.class="",之前是“javax.net.ssl.SSLSocketFactory”。

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

@SergeBallesta:感谢您的帮助!

关于java - DSpace:Java 邮件无法在公司网络中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27294040/

相关文章:

java - 无法以 HTML 格式发送电子邮件。

java - 如何在 DSpace 中添加包含超长数据的输入表单(反馈)?

java - 如果字符串不等于,如何比较?

java - Hibernate IN关键字在where子句之前有什么用

java - 查找和替换文件中的单词/行

tomcat - DSPACE:tomcat 重启后 xmlui 出现白屏

tomcat - Apache Tomcat 从外部 IP 请求 Dspace 文件时超时

java - ThreadLocal 与参数传递 - 在界面设计中选择什么?

java - 将 RecipientType.TO 分配给邮件时出错

Java Mail SMTP 硬退回问题