我设置 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/