Java 邮件发送解析富文本
在日常工作中,我们经常需要使用Java发送电子邮件。而有时候,我们需要发送包含富文本内容的邮件,比如HTML格式的邮件。本文将介绍如何使用Java发送富文本邮件,并解析接收到的富文本邮件内容。
发送富文本邮件
首先,我们需要使用JavaMail库来发送邮件。我们可以通过以下代码片段发送一个包含HTML内容的邮件:
import javax.mail.*;
import javax.mail.internet.*;
public class SendHtmlEmail {
public static void main(String[] args) {
String to = "recipient@example.com";
String from = "sender@example.com";
String host = "smtp.example.com";
Properties properties = System.getProperties();
properties.setProperty("mail.smtp.host", host);
Session session = Session.getDefaultInstance(properties);
try {
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject("HTML Email");
String htmlContent = "Hello, World!<p>This is a test email.</p>";
message.setContent(htmlContent, "text/html");
Transport.send(message);
System.out.println("Email sent successfully.");
} catch (MessagingException mex) {
mex.printStackTrace();
}
}
}
解析富文本邮件
接收到的富文本邮件内容将包含HTML标记。我们可以使用Jsoup库来解析HTML内容。以下是一个简单的示例代码,用于解析HTML邮件内容:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
public class ParseHtmlEmail {
public static void main(String[] args) {
String htmlContent = "Hello, World!<p>This is a test email.</p>";
Document doc = Jsoup.parse(htmlContent);
String title = doc.select("h1").text();
String body = doc.select("p").text();
System.out.println("Title: " + title);
System.out.println("Body: " + body);
}
}
关系图
erDiagram
EMAIL ||--o| HTML_CONTENT : has
类图
classDiagram
class SendHtmlEmail {
+main(String[] args)
}
class ParseHtmlEmail {
+main(String[] args)
}
通过以上代码示例,我们可以实现Java邮件发送和富文本邮件内容解析的功能。在实际应用中,我们可以根据具体需求扩展功能,比如添加附件、使用模板等。希望本文对你有所帮助,谢谢阅读!