不能使用Java连接到SMTP服务器(Can't connect to SMTP serve

2019-10-21 04:34发布

我想给使用Java邮件API从Java的电子邮件(javax.mail。*)。 我可以用下面的设置通过雷鸟访问SMTP服务器:

  • 服务器:math.uni-freiburg.de
  • 端口:465
  • 用户名:MY_USERNAME
  • 身份认证:密码,正常
  • 安全性:SSL / TLS

我知道没有别的关于SMTP服务器。

我的代码,我总是得到错误: 无法连接到SMTP主机:math.uni-freiburg.de,端口:465,响应:-1

String SMTP_HOST = "math.uni-freiburg.de"
String SMTP_USER = "MY_USERNAME@math.uni-freiburg.de";
String SMTP_PASSWORD = "MY_PASSWORD";
String SMTP_PORT = "465";

final Properties props = new Properties();
props.put("mail.smtp.host", SMTP_HOST);
props.put("mail.smtp.port", SMTP_PORT);
props.put("mail.transport.protocol","smtp");
props.put("mail.smtp.auth", "true");
//props.put("mail.ssl.enable", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.tls", "true");
props.put("mail.smtp.ssl.checkserveridentity", "true");

final javax.mail.Authenticator auth = new javax.mail.Authenticator() {
   @Override
   public PasswordAuthentication getPasswordAuthentication() {
      return new PasswordAuthentication(SMTP_USER, SMTP_PASSWORD);
   }
};

Session session = Session.getInstance(props, auth);


Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress("MY_USERNAME@math.uni-freiburg.de", "MY NAME"));
msg.addRecipient(Message.RecipientType.TO, new InternetAddress("asdfasdf@gmail.com", "asdf asdf"));
msg.setSubject("SUBJECT");
msg.setText("THE MESSAGE");
msg.saveChanges();
Transport.send(msg); 

我已经试图改变某些属性,但因为我真的不知道他们做了什么,这是不是很全成。

任何想法我可以改变?

文章来源: Can't connect to SMTP server with Java