这可能是由于异步发送邮件时出现错误而导致的。为了解决这个问题,您可以使用Java Mail API中提供的同步方式来发送邮件,或者查找并解决异步发送的错误。以下是使用Java Mail API同步发送邮件的代码示例:
public void sendMail() throws MessagingException {
Properties properties = new Properties();
properties.put("mail.smtp.host", "smtp.gmail.com"); // 邮件服务器地址
properties.put("mail.smtp.port", "587"); // 邮件服务器端口号
properties.put("mail.smtp.auth", "true"); // 是否需要身份认证
properties.put("mail.smtp.starttls.enable", "true"); // 开启加密连接
properties.put("mail.smtp.ssl.trust", "smtp.gmail.com"); // 信任smtp.gmail.com
Session session = Session.getDefaultInstance(properties,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("[email protected]", "password"); // 发送方帐号密码
}
});
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("[email protected]")); // 发送方地址
message.setRecipients(
Message.RecipientType.TO,
InternetAddress.parse("[email protected]")); // 接收方地址
message.setSubject("Subject");
message.setText("Message");
Transport.send(message); // 发送邮件
}