Exception in thread "main" javax.mail.MessagingException: No MimeMessage content at javax.mail.internet.MimeMessage.getContentStream(MimeMessage.java:1334) at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1473) at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1773) at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1119) at Main.main(Main.java:51)
时间: 2023-12-25 18:03:58 浏览: 306
这个错误通常是由于MimeMessage对象没有设置消息体导致的。请确保您的MimeMessage对象已经设置了消息体,例如:
```java
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject(subject);
message.setText(body); // 设置消息体
```
请注意,如果您使用HTML格式的消息体,则应将消息类型设置为"text/html",并且消息内容应该是HTML代码。这里是一个设置HTML消息体的示例:
```java
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject(subject);
message.setContent(htmlBody, "text/html"); // 设置HTML消息体
```
在这个示例中,“htmlBody”是一个包含HTML代码的字符串。请注意,如果您使用HTML格式的消息体,则应该使用“setContent”方法而不是“setText”方法来设置消息体。
阅读全文