JavaMail,使用Gmail SMTP-can';不要发送消息
我想用JavaMail发送一封电子邮件,但每次我都会收到一个例外。我创建了一个JFrame项目,并为一个按钮创建了一个actionevent:JavaMail,使用Gmail SMTP-can';不要发送消息,java,smtp,gmail,jakarta-mail,Java,Smtp,Gmail,Jakarta Mail,我想用JavaMail发送一封电子邮件,但每次我都会收到一个例外。我创建了一个JFrame项目,并为一个按钮创建了一个actionevent: private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { Properties props = new Properties(); props.put("mail.smtp.ho
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "465");
Session session = Session.getDefaultInstance(props,
new javax.mail.Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("xyz@gmail.com", "###");
}
}
);
//I've tried also this version of the Session:
//Session session = Session.getInstance(props,new NewEmpty("xyz@gmail.com","###"));
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("xyz@gmail.com"));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("zyx@gmail.com"));
message.setSubject("Hi");
message.setText("Helló!");
Transport.send(message);
JOptionPane.showMessageDialog(null, "Sent!");
}catch(Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
}
例外情况是:
您的屏幕截图显示SSL握手错误 您可能必须将其SSL证书或根证书导入您自己的java信任/密钥库
我找到了一个用于描述单个步骤的示例。如果我理解的话。您已经在服务器中安装了.exe吗?关于可能的重复你是什么意思?什么.exe?不,我想。。。我有一台华硕笔记本电脑,并安装了NetBeans。我为项目类路径添加了JavaMail,但不起作用。DavidPostill-尝试过,但不起作用我正在尝试使用SSL创建它。请检查此项以及查看此项。通常,对于Gmail,你不应该遇到这个问题。可能您的JDK安装有问题,或者可能您遇到了防火墙阻止您连接。您还可以尝试在NetBeans之外运行应用程序,看看这是否有帮助。