如何在 java 中发送 text/html 电子邮件?
How to send text/html email in java?
我将我的内容设置为 "text/html" 但由于某种原因我收到此错误:
Exception in thread "main" javax.mail.MessagingException: IOException while sending message;
nested exception is:
java.io.IOException: "text/html" DataContentHandler requires String object, was given object of type class javax.mail.internet.MimeMessage
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1245)
at javax.mail.Transport.send0(Transport.java:254)
at javax.mail.Transport.send(Transport.java:124)
at EmailSender.sendEmail(TestSendEmails.java:124)
at EmailSender.sendEmail(TestSendEmails.java:130)
at Main.main(Main.java:8)
这是我的代码:
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("work@gmail.com"));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(s.getEmailTo().replace(";", ",")));
message.setSubject(s.getEmailSubject());
message.setText(s.getEmailBody());
message.setContent(message, "text/html");
Transport.send(message);
请让我知道我的代码中应该更改哪些内容。提前致谢。
这里有语法错误
message.setContent(message, "text/html");// here you are passing object of type class javax.mail.internet.MimeMessage
正确的是
message.setContent("your body here", "text/html")
我将我的内容设置为 "text/html" 但由于某种原因我收到此错误:
Exception in thread "main" javax.mail.MessagingException: IOException while sending message;
nested exception is:
java.io.IOException: "text/html" DataContentHandler requires String object, was given object of type class javax.mail.internet.MimeMessage
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1245)
at javax.mail.Transport.send0(Transport.java:254)
at javax.mail.Transport.send(Transport.java:124)
at EmailSender.sendEmail(TestSendEmails.java:124)
at EmailSender.sendEmail(TestSendEmails.java:130)
at Main.main(Main.java:8)
这是我的代码:
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("work@gmail.com"));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(s.getEmailTo().replace(";", ",")));
message.setSubject(s.getEmailSubject());
message.setText(s.getEmailBody());
message.setContent(message, "text/html");
Transport.send(message);
请让我知道我的代码中应该更改哪些内容。提前致谢。
这里有语法错误
message.setContent(message, "text/html");// here you are passing object of type class javax.mail.internet.MimeMessage
正确的是
message.setContent("your body here", "text/html")