我正在尝试创建一个Java Swing(用Ant)应用程序,将电子邮件发送到一个期望的地址(我的第一次)。应用程序构建成功,但是当我单击按钮发送电子邮件时,我收到了许多不同的错误消息,第一条是Java . lang . noclassdeffounderror:javax/activation/data source。发件人的电子邮件是新的,我没有将其与电话号码相关联(有人告诉我这可能会导致问题)。我也已经将mail.jar添加到了项目库中。catch JOptionPane也没有打印任何错误,所以我很难搞清楚这一点。我附上了代码以及错误的截图。
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String toEmail= "email1";//Changed emails for securityPurposes
String fromEmail = "email2";
String fromEmailPassword="Password";
String subject="This is the subject";
Properties properties = new Properties();
properties.put("mail.smtp.auth","true");
properties.put("mail.smtp.starttls.enable","true");
properties.put("mail.smtp.host","smtp.gmail.com");
properties.put("mail.smtp.port","587");
Session session=Session.getDefaultInstance(properties,new >javax.mail.Authenticator(){
@Override
protected PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication(fromEmail,fromEmailPassword);
}
});
try{
MimeMessage message=new MimeMessage(session);
message.setFrom(new InternetAddress(fromEmail));
message.addRecipient(Message.RecipientType.TO,new >InternetAddress(toEmail));
message.setSubject(subject);
message.setText("Hello");
Transport.send(message);
}
catch(Exception ex){
JOptionPane.showMessageDialog(null, ex);
}
}
我看过,但没有找到类似的案例或解决方案。
java.lang.NoClassDefFoundError表示类在类路径中找不到,根据您的描述,我认为您是通过ant创建一个jar,然后使用java-jar执行它。您应该检查:
在Java11中,所有所谓的“企业”模块都从JDK和JRE中删除了。这包括JAXB等API,也包括Java激活框架。JavaMail需要它,但您的应用程序缺少它(如错误消息所示)。
添加此依赖项:https://mvnrepository.com/artifact/jakarta.activation/jakarta.activation-api/1.2.2。确保远离版本 2.x 及更高版本,这些版本具有不同的软件包名称。
我需要怎么修? (我使用Apache NetBeans IDE 12.0;Java:15;Java HotSpot(TM)64位服务器VM 15+36-156)
第一次使用java邮件。我正在遵循本教程,但我已经无法发送基本消息,并且我收到了一个非常奇怪的错误: 奇怪的是,我的代码中没有使用IMAP: 错误发生在最后一行(发送)。我知道smtp服务器正常工作。 有什么建议吗?为什么会发生这种情况?我该如何解决? 编辑:显然,地址/主机在这里发生了更改,我使用的是在实际代码中工作的真实地址/主机。
我是java初学者,我想用java发送一封电子邮件,因为我正在用java编写这段代码。但是我的代码抛出了一个异常,我需要一个提示为什么… 这是异常的堆栈跟踪: 这是我的代码
嗨,我正试图在后台发送一封电子邮件,而没有应用程序。我考虑过使用GMailSender/jsse,有人提到/我很难将包添加到GMailSender,这是以前在new com.provider.jsseprovider()中问到的,不能解析符号提供者,但是当我键入包名时会出现错误。 完整代码
我是Java初学者,我想用Java发送电子邮件。为此,我使用这段代码发送电子邮件,但这段代码引发了一个异常。我已经验证了我的用户名和密码,它们绝对没有问题,所以请告诉我是否有其他方法用Java发送电子邮件? 这是异常的堆栈跟踪: 这是我的代码
在我的golang应用程序中,我使用以下代码片段从我的gmail帐户发送电子邮件: 我得到了这个错误: 我已经在本地主机上安装了后缀。我还允许不太安全的应用程序访问我的帐户。我也在我的VPS上尝试了相同的代码,但它也不发送电子邮件。 那么有什么不对呢?我怎样才能修好它?