我想通过点击JFrame netbeans中的按钮从我的电子邮件地址向另一个电子邮件地址发送邮件。这是代码,
DatabaseReference timeRef = FirebaseDatabase.getInstance().getReference("time-test");
timeRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
long time = dataSnapshot.getValue(Long.class);
String s = DateFormat.getDateTimeInstance().format(new Date(time));
Log.d(TAG, "onDataChange: " + s);
} else {
Log.d(TAG, "onDataChange: No data");
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException();
}
});
timeRef.setValue(ServerValue.TIMESTAMP);
但它给了我以下错误,
javax.mail.MessagingException:无法将套接字转换为TLS;嵌套异常是:java.io.lOException:使用SSL套接字工厂类的startTLS中的异常null:host,port smtp.gmail.com,587;异常:java.lang.ClassNotFoundException:javax.netssl.SSLsocketFactory
尝试了很多,但无法弄清楚如何解决它?请帮助。
答案 0 :(得分:1)
尝试更改属性mail.smtp.socketFactory.class
的值
到javax.net.ssl.SSLSocketFactory
代替javax.net.ssl.SSLsocketFactory
,
类名称区分大小写。
有关连接属性的更多信息,请查看: Where to find all available Java mail properties?
答案 1 :(得分:1)
正如其他人所指出的,您的套接字工厂设置错误。
答案 2 :(得分:0)
如果您的JavaMail库(mail.jar或javax.mail.jar)太旧,也会弹出此错误。 从此处下载最新版本:https://javaee.github.io/javamail/